Как связать уже подключенную таблицу с другой таблицей в laravel? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть пользовательская таблица, в которой есть одно userRole, а userRole принадлежит Role.Итак, я хочу получить userRole и Role.

Код в пользовательской модели:

public function userRole()
{
    return $this->hasOne(UserRole::class);
}

Код в модели UserRole:

 public function role()
{
    return $this->belongsTo('App\Role');
}

Код в контроллере:

User::with('userRole', function ($role) {
  $role->with(['Role']);
})
->wherehas('userRole', function ($query) {
     $query->where('role_id','1');
 })->get();

Это дает мне ошибку

"mb_strpos () ожидает, что параметр 1 будет строкой"

1 Ответ

0 голосов
/ 23 февраля 2019

Проблема в том, что вы должны передать массив, когда хотите добавить ограничение в метод with().

Ваш код должен выглядеть примерно так:

User::with([
    'userRole' => function ($query) {
        ...
    }
])
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...