我在laravel 4中创建了关系belongsToMany
。这个返回空数组并且我不知道为什么,因为当我在数据库中添加相同的SQL时,我得到了结果。
我试过这个:
public function modules() {
return $this->belongsToMany('Module', 'license_module', 'id_license', 'id_modul')->withPivot('expiration')->orderby('expiration', 'asc');
}
这是一个电话示例:
Company::find($companyID)->modules()->get();
这是getQueryLog()示例:
[14] => Array
(
[query] => select * from `bb_companies` where `bb_companies`.`id_company` = ? limit 1
[bindings] => Array
(
[0] => 100001
)
[time] => 0.26
)
[15] => Array
(
[query] => select `bb_modules`.*, `bb_license_module`.`id_license` as `pivot_id_license`, `bb_license_module`.`id_modul` as `pivot_id_modul`, `bb_license_module`.`expiration` as `pivot_expiration` from `bb_modules` inner join `bb_license_module` on `bb_modules`.`id_modul` = `bb_license_module`.`id_modul` where `bb_license_module`.`id_license` = ?
[bindings] => Array
(
[0] => 100001
)
[time] => 0.19
)
如果我删除->orderby('expiration', 'asc');
没有任何反应。
这是普通的sql:
select * from `bb_modules` inner join `bb_license_module` on `bb_modules`.`id_modul` = `bb_license_module`.`id_modul` where `bb_license_module`.`id_license` = ? order by `expiration` asc