首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在多态模型上保存其他数据- Laravel 4

无法在多态模型上保存其他数据- Laravel 4
EN

Stack Overflow用户
提问于 2013-09-15 21:38:12
回答 2查看 289关注 0票数 0

我有:

代码语言:javascript
运行
复制
class Media extends Base{
    public function mediable()
    {
        return $this->morphTo();
    }
}

class Offer extends Base{
    public function media()
    {
        return $this->morphMany('Media', 'mediable');
    }
}

我正在做这个:

代码语言:javascript
运行
复制
Offer::find(5)->media()->save(
    new Media(array(
        'name' => 'sasdfasdf'
    ))
);

一切都很好,除了"name“没有保存在数据库中。其他字段,如mediable_id和mediable_type,正在按预期保存。

有特制的吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-15 22:43:46

已解决:

代码语言:javascript
运行
复制
$media = new Media;
$media->name = 'Some name';
Offer::find(5)->media()->save($media);

由于某些原因,另一种方式不起作用。

票数 0
EN

Stack Overflow用户

发布于 2013-09-15 22:52:35

这与您在模型中的设置有关。将此代码添加到您的Media模型中,您将能够使用原始方法:

代码语言:javascript
运行
复制
protected $fillable = array('name');

请参阅:http://four.laravel.com/docs/eloquent#mass-assignment

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18813039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档