我有一个Booking
模型,它可以有很多Service
's。Laravel一对多模型关系不起作用
我已经定义的预订模型的关系是这样的:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Service;
class Booking extends Model
{
/**
* Get the services for the booking.
*/
public function services()
{
return $this->hasMany('App\Service');
}
}
然后在我BookingController
我试图让所有的服务,这样目前的预订:
public function create()
{
$services = Booking::find(1)->services;
return view('bookings.create');
}
我一直得到的错误:
Trying to get property of non-object
不知道我在做什么错在这里。外键关系全部设好。在services
表中,我有booking_id
列,它在bookings
表上引用id
。
任何帮助,将不胜感激。
你已经导入了Booking类,你确定你的数据库中有记录 –
'find'可以返回'null'。是否存在带有id = 1的预订? – lagbox
@lagbox嗯,我认为这是问题。没有id = 1的预订。我试着用预订ID存在,它的工作。如果你写这个作为答案,我会高兴地接受它。 – user3574492