【发布时间】:2014-06-29 11:37:55
【问题描述】:
当两个表在索引上具有相同的列名时,我无法连接表,直到我将主表字段更改为“id”。我不能使用查询生成器;必须在雄辩的 orm 上找到解决方案。
主表,
product_id, ...
子表,
sub_product_id, product_id, ...
这些是模型,
require_once(APPPATH . 'models/connection.php');
use Illuminate\Database\Eloquent\Model as Eloquent;
class Credit extends Eloquent {
public $timestamps = false;
public $table = 'tbl_credit';
public function periods() {
return $this->hasMany('Period', '**product_id**');
}
}
和子模型,
require_once(APPPATH . 'models/connection.php');
use Illuminate\Database\Eloquent\Model as Eloquent;
class Period extends Eloquent {
public $timestamps = false;
public $table = 'tbl_credit_period';
public function credit() {
return $this->belongsTo('Credit', '**product_id**');
}
}
代码是这样的
Credit::with('periods')->get()->toArray()
给出结果
array(product_id => .., periods => null)
如果我将信用表主键从product_id 更改为id,那么它可以工作。
【问题讨论】:
-
显示代码和错误,因为现在它会猜测你的意思。
-
代码已添加,谢谢
标签: eloquent