Ich möchte einfache Drop-Down innerhalb HTML-Code aus 2 Tabelle, die sie haben einzelne Beziehung haben, in meinem Code kann ich Beziehungsdaten zu concat, dass mit anderen Tabellenspalten . zum Beispiel ist mein Code:Laravel erstellen einfaches Drop-Down von Beziehung und Concat-Spalten
$user_accounts = UserAccountNumber::with('currencyType')->select('*', DB::raw('CONCAT("CardNumber: ", card_number) AS account_info'))
->whereUserId(Auth::user()->id)
->pluck('account_info', 'id');
dieser Code funktionieren, aber ich möchte einige currencyType
Tabellenspalten mit UserAccountNumber
Tabelle conact und ich kann nicht TableName.ColumnName in DB::raw()
verwenden, zB:
$user_accounts = UserAccountNumber::with('currencyType')
->select(
'*',
DB::raw('CONCAT(" CardNumber: ", card_number, "CurrencyType: ", currencyType.title) AS account_info'))
->whereUserId(Auth::user()->id)
->pluck('account_info', 'id');
dann bekomme ich diesen Fehler:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'currencyType.currency_type' in 'field list' (SQL: select *, CONCAT("AccountNumber: ",account_number, " CardNumber: ", card_number, "CurrencyType: ", currencyType.currency_type) AS account_info from `user_account_numbers` where `user_id` = 17)
currencyType
Verfahren in Modell:
public function currencyType()
{
return $this->belongsTo(CurrencyType::class, 'currency_type', 'id');
}
Da Laravel Beziehung durch 2 Abfragen laden, nicht beitreten. Ich denke, Sie müssen 'JOIN' manuell oder concat Zeichenfolge in PHP –
@ LêTrầnTiếnTrung Thanks –