【发布时间】:2019-11-05 13:53:25
【问题描述】:
我想加载具有company_id = 28 的用户。我放了 where 子句,但它不起作用,集合返回所有记录。
MyController.php
public function index($type, $company_id = '')
{
$user = User::whereHas('roles', function ($query) use ($type) {
$query->where('name', '=', $type);
})->get();
$users = $user->load(['userSetting' => function ($query) {
$query->where('company_id', '28');
}]);
return response()->json($users);
}
User.php
public function userSetting()
{
return $this->hasOne('App\UserSettings', 'user_id');
}
【问题讨论】:
-
你做的时候有没有结果:
UserSettings::first(); -
@HCK 是的,我有
-
另外,您有一个
User 1-m UserSettings,所以您只想加载与UserSettings中符合user_id=28的单个记录链接的唯一/唯一用户的关系?跨度> -
怎么样:
$query->where('userSetting.company_id', '28');作为急切加载条件? (我包括了关系名称)
标签: php laravel laravel-5 eloquent relationship