Laravel 4如何在插入新记录时将用户ID添加为默认值

时间:2014-02-15 20:17:22

标签: php laravel laravel-4

我正在为企业构建应用

他们是三张桌子: 1-用户表(属于公司) 2-公司表(有很多用户) 3-分支表(属于公司)

添加分支时我希望默认情况下通过将以下代码添加到分支模型来传递模型中的公司ID

 protected $attributes = array(
    'company_id' => Auth::user()->company->id,
 );

这将减少为每次插入或更新记录

插入company_id的麻烦

1 个答案:

答案 0 :(得分:5)

您可以覆盖模型的保存方法:

class YourModelClass extends Eloquent {

    public function save(array $options = array())
    {
        if( ! $this->company_id)
        {
            $this->company_id = Auth::user()->company->id;
        }

        parent::save($options);
    }

}

不是每次都这样做:

$model = new YourModelClass;
$model->name = 'a name';
$mode->save();

它还会将company_id添加到该模型