Laravel Eloquent - 将数据透视表的id用作另一个表中的外键

时间:2015-07-04 07:54:18

标签: database laravel eloquent laravel-5 pivot

LARAVEL 5

我有一个表属于其他几个表,在添加新的时候需要所有其他表的id,表结构是:

协议表:

  • USER_ID,
  • CLIENT_ID,
  • Owner_id,
  • property_id,
  • date,
  • ....(所有其他列与此对话无关)

用户表:

  • ID
  • ...

客户表:

  • id,
  • 角色(可以是客户或所有者)
  • ...

property-table:

  • ID
  • ...

与协议表建立关系的正确方法是什么?以及如何将数据插入/更新到协议表?

什么是型号/控制器?

我尝试以这种方式手动更新它,但它只是在记录中插入0 :(通过邮件或会话发送的数据都正常工作,但无法插入数据库)。

 $agreement= new RentalAgreement(array(

        'client_id'         =>  Session::get('client_id'),
        'owner_id'          =>  Session::get('owner_id'),
        'property_id'       =>  $request->property,
        'user_id'           =>  Auth::user()->id,
          .
          .
          .

这是数据库迁移:

Schema::create('rental_agreements', function(Blueprint $table)
    {
        $table->increments('id');
        $table->integer('client_id');
        $table->integer('owner_id');
        $table->integer('property_id');
        $table->integer('user_id');
        .
        .
        .

1 个答案:

答案 0 :(得分:0)

手动更新只需要将列名添加到模型的$fillable列表中

$fillable=[ 'client_id','user_id',........ ];