我有:
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'
))
);
一切都很好,除了"name“没有保存在数据库中。其他字段,如mediable_id和mediable_type,正在按预期保存。
有特制的吗?
发布于 2013-09-15 22:43:46
已解决:
$media = new Media;
$media->name = 'Some name';
Offer::find(5)->media()->save($media);
由于某些原因,另一种方式不起作用。
发布于 2013-09-15 22:52:35
这与您在模型中的设置有关。将此代码添加到您的Media模型中,您将能够使用原始方法:
protected $fillable = array('name');
请参阅:http://four.laravel.com/docs/eloquent#mass-assignment
https://stackoverflow.com/questions/18813039
复制相似问题