В моем приложении у меня есть пользователи и билеты.принадлежитTo не работает в laravel
В таблице 'билеты' У меня есть один внешний ключ, например:
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
В модели 'Ticket' У меня есть эти отношения:
public function owner()
{
return $this->belongsTo('App\User');
}
модель Пользователь:
public function createdTickets()
{
return $this->hasMany('App\Ticket');
}
Посредством этого:
dd(\Auth::user()->createdTickets()->get()->toArray());
Получаю все билеты, никаких проблем здесь. Но когда я пытаюсь получить владелец от билета, это дает мне нуль:
$ticket = \Auth::user()->createdTickets()->first();
dd($ticket->owner); //if I try dd($ticket) it juts fine.
PS: Для записи, у меня есть еще один тип отношений между два моделью (многие ко многим)
билет:
public function followers()
{
return $this->belongsToMany('App\User')->withTimeStamps();
}
Пользователь:
public function followingTickets()
{
return $this->belongsToMany('App\Ticket')->withTimeStamps();
}
вы должны не называть, что владелец в качестве функции '$ ticket-> владелец()', или это волшебно разрешаться Laravel? – Pevara
Если я делаю $ ticket-> owner(), laravel позволяет мне делать такие вещи, как $ ticket-> owner() -> first(), $ ticket-> owner() -> where() и т. Д. Выполняя $ ticket -> владелец, laravel должен дать мне объект Collection –