我用鼻涕虫碰到一个路障,所以寻求你的专家建议。
我们有司机桌,汽车桌,车队主人桌。
www.example.com/drivers/driver-name
www.example.com/cars/car-name
www.example.com/fleet-owners/fleet-owner-name在我的webapp中,我使用雄辩实现了弹格,如下所示。
在驱动程序模型中,我创建了一个缓慢的方法,如下所示
protected $sluggable = [
'build_from' => 'user.name',
'save_to' => 'slug',
];对于驱动程序,它使用user.name并保存相应的段塞,并且对驱动程序和卡片都按预期的方式工作。
但是对于车队所有者来说,我不能这样做,因为对于车队所有人来说,司机的名字被存储为司机名,但是我不能引用这个名字,也不能为此创建段塞。
发布于 2016-05-17 14:43:49
我还没有使用雄辩的Sluggable,也不确定我是否理解您的数据库模式,但假设舰队所有者模型有一个/属于一个驱动程序模型实例,类似的东西可能会起作用。
public function getNameAttribute()
{
return $this->driver->name;
}然后,舰队所有者模型将有一个名称属性,Sluggable可以使用该属性:
protected $sluggable = [
'build_from' => 'name',
'save_to' => 'slug',
];你必须确保在你的舰队所有者的桌子上有一个鼻涕虫列,这样才能工作。
发布于 2016-05-21 05:02:15
我用下面乔希的建议解决了这个问题。在模型中,我创建了一个方法
public function getNameAttribute()
{
return $this->driver->name;
}然后在“懒惰”中,只需在build_to中使用“name”就可以了。
https://stackoverflow.com/questions/37268349
复制相似问题