关于一对多数据插入及预读取问题


1、表结构:

concordats:

id,name,status

leases:

id,date_begin,price

2、关联:
Concordat:
public function leases(){
    //默认关联
    retuen $this->hasMany('lease');
    //手动关联,手动关联与默认关联的FK和LK是相反的
    return $this->hasMany('lease','id','concordat_id');
}
Lease:
public function concordat(){
    //对应上述两种关联方式也设置了两种对应的关联,不再赘述
    $this->belongsTo('concordat');
}
问题求教?
默认关联时:
  • 使用createMany()将提示FK为空;
  • 但使用Concordat::find(1)->leases可以获取到leases信息(录入的测试信息)
使用手动关联:
  • 可以顺利使用createMany()批量插入leases数据;并且FK不为空;
  • 但无法使用Concordat::find(1)->leases获取到leases内的信息(数据表中存在测试信息)

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: 提个建议,升级权限可否改为自动。

>> 下一篇: 关于扩展包同时使用的问题