Ich kann diesen Fehler nicht beheben, wenn ich versucht habe, eine Kategorie mit einer Transaktion zu verknüpfen.Laravel Relation Query/Find - Versuch, die Eigenschaft eines Nicht-Objekts zu erhalten
// TransactionController
$transactions = DB::table('transactions')
->where('status', 'false')
->orderBy('date','asc')
->get();
foreach($transactions as $data) {
$transaction = new Transaction();
$transaction->id = $data->id;
$transaction->category = Transaction::find($data->categories_id)->category;
$transaction->description = $data->description;
}
Der Fehler bei der Zeit auftritt: Error in TransactionController.php Linie 80: Eigenschaft von nicht-Objekt zu erhalten Versuch
Line 80: $transaction->category = Transaction::find($data->categories_id)->category;
Aber, wenn ich teste mein Code mit sterben, das ist das Ergebnis:
die(Transaction::find($data->categories_id)->category()->first());
{"id":1,"users_id":1,"description":"Alimenta\u00e7\u00e3o","created_at":"2016-11-15 20:31:11","updated_at":"2016-11-15 20:31:11"}
// Transaktionsmodell
class Transaction extends Model
{
public function category(){
return $this->hasOne('App\Category','id');
}
[] 's
können Sie 'dd' den Inhalt von' $ transactions' –
'Transaction :: find ($ data-> categories_id) -> category' Warum versuchen Sie eine' Transaktion' mit '' categories_id' zu finden? :/ – Doom5
überprüfen Sie alle '$ data -> categories_id', einige haben möglicherweise nicht die Transaktions-ID. –