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

ahm*_*med 1 php laravel laravel-4

我正在为企业构建应用程序

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

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

 protected $attributes = array(
    'company_id' => Auth::user()->company->id,
 );
Run Code Online (Sandbox Code Playgroud)

这将减少为每次插入或更新记录插入company_id的麻烦

Ant*_*iro 6

您可以覆盖模型的save方法:

class YourModelClass extends Eloquent {

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

        parent::save($options);
    }

}
Run Code Online (Sandbox Code Playgroud)

不是每次都这样做:

$model = new YourModelClass;
$model->name = 'a name';
$mode->save();
Run Code Online (Sandbox Code Playgroud)

它还会将company_id添加到该模型中