私はリストとユーザーの関係が多岐にわたります。 これはリストのモデルである:Laravel 5 - Eloquent:多対多の関係をフィルタリングする簡単な方法
class ListModel extends Model
{
protected $table = "lists";
public function users()
{
return $this->belongsToMany('App\Models\User', 'list_user', 'list_id', 'user_id')->withTimestamps();
}
}
これは、Userモデルである:リストページで
class User extends Authenticatable
{
public function lists()
{
return $this->hasMany('App\Models\ListModel');
}
}
、私がログインしているユーザーに属するすべてのリストを取得する必要があります。私が見つけた唯一の解決策はこれです:
$user = \Auth::user()->id;
$all_lists = ListModel::whereHas('users', function ($query) use ($user) {
$query->where('user_id', $user);
})->active()->get();
同じ結果を達成するための簡単な方法はありますか?現在のユーザーがすでにロードされているので
を/ laravel/how-to-eager-load-a-relation-on-authuser – Gayan