考虑以下表格:
staff
id - integer
name - string
products
id - integer
price - integer
photos
id - integer
path - string
imageable_id - integer
imageable_type - string
Laravel默认情况下将模型类的名称存储在imageable_type
列.e.g App\Product
和App\Staff
中。如何手动设置类型值?例如product
和staff
。
答案 0 :(得分:2)
您可以在模型上设置morphClass
属性。这将允许您设置*_type
字段中使用的值。
class Product extends Model
{
protected $morphClass = 'product';
}
class Staff extends Model
{
protected $morphClass = 'staff';
}
答案 1 :(得分:0)
我不确定您为什么要这样做但是,查看MorphMany()
方法的签名:https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html#method_morphMany
MorphMany morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null)
您可以更改$ type字符串。