我有:
class Media extends Base{
public function mediable()
{
return $this->morphTo();
}
}
class Offer extends Base{
public function media()
{
return $this->morphMany('Media', 'mediable');
}
}
我这样做:
Offer::find(5)->media()->save(
new Media(array(
'name' => 'sasdfasdf'
))
);
Everythig很好,只是“name”没有保存在数据库中。其他字段如mediable_id和mediable_type正在按预期保存。
有什么难事吗?
答案 0 :(得分:0)
解决:
$media = new Media;
$media->name = 'Some name';
Offer::find(5)->media()->save($media);
由于某种原因,另一种方式不起作用。
答案 1 :(得分:0)
这与您在模型中的自己的设置有关。将此代码添加到您的媒体模型中,您将能够使用原始方法:
protected $fillable = array('name');