Laravel отношения, похоже, не работают - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть проект fre sh, и я хотел установить некоторые отношения. Однако, я не могу заставить его работать.

У меня есть модель КОМПАНИИ с

public function owner() 
{
    $this->belongsTo('App\User', 'id', 'owner_id');
}

И затем модель ПОЛЬЗОВАТЕЛЯ с

public function owns()
{
    return $this->hasMany('App\Company', 'owner_id', 'id');
}

Когда я получаю объект пользователя или компании, отношение не отображается. Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Для отображения ваших отношений для принадлежностей вам на самом деле не нужно отображать поля, которые вы должны сопоставить, чтобы начать только то, что

$this->belongsTo('App\User');

было бы достаточно

и для вашего просто hasMany просто

$this->hasMany('App\Company');

, если поле отношения user_id

0 голосов
/ 07 февраля 2020

Попробуйте, чтобы избежать проблем со многими параметрами.

...
public function owner() 
{
    return $this->belongsTo('App\User', 'owner_id');
}
...

и

...
public function owns()
{
    return $this->hasMany('App\Company', 'owner_id');
}
...

Что выводится при попытке доступа к $some_user->owns? Вы можете проверить свои отношения с php artisan tinker, затем вы можете искать одного из ваших пользователей, например, так:

$u = User::find(1) $u->owns

Если он возвращает массив, ваше отношение хорошо.

...