最後に、私がLaravel Eloquent Relationshipsのハングアップとそれらを扱う方法を持っていると思ったとき、私は再び同じ問題を抱えていました。数日前。Laravel eloquent relationships、Models、およびそれらを1回の試行で受け取る
i-eリレーションシップの取得と1-N、N-Nリレーションシップの割り当て/割り当て解除。
私の質問は本当に簡単で簡単です。この雄弁な禅のやり方を教えてください。
私はモデルクラス「Vehicle.php」を持っているとモデルクラス「User.php」
User hasMany Vehicle
Vehicle belongsTo User
ここでは、私は私の「車」を検索する方法です。
$vehicle = $this->user->vehicles()->where('id',$params['vehicle_id'])->first()
ここで、関連するユーザーを取得しようとしています。
return $vehicle->user()->first(); //return $vehicle->user
そして私はlaravelのこの部分の
Call to a member function first() on null
ヘルプ、私は明確に私の理解を得続けます。私は多くのスレッド/チュートリアルを通過しましたが、私は同じ溝に再び落ちていきます。
Vehicle.php
public function user()
{
$this->belongsTo('App\User');
}
User.php
public function vehicles()
{
return $this->hasMany('\App\Models\Vehicle');
}
を忘れてしまいましたか? first()を使用している理由は、クエリは1つのレコードのみを返します。 –
データベースに車両に関連付けられたユーザーがいますか?それはエラーが言っているものですから。また、belongsTo関係については、 '$ vehicle-> user'、大括弧と最初の必要はありません。ドキュメントもかなり明確です:https://laravel.com/docs/5.4/eloquent-relationships#one-to-many-inverse – Christophvh
コードのコメント部分に見られるように、私は$ vehicle-> userを試しました。何も動作していないようです。はい '車両'テーブルに 'user_id'列があり、正しく入力されています。そして、はい、それはどのようにすべきかについて明確になっていますが、私は何かを誤解する必要があります。私は同じことのために落ち続ける。 –