Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.2返回空数组的关系_Php_Laravel - Fatal编程技术网

Php Laravel 5.2返回空数组的关系

Php Laravel 5.2返回空数组的关系,php,laravel,Php,Laravel,我有两个模型,需要根据某些条件提取并过滤结果 手机:身份证,姓名,品牌 报价:id、modelid、retailerid 我的模型设置如下: // Mobile public function offer() { return $this->hasMany('App/Offer','modelid','id'); } // Offer public function mobile() { return $this->belongsTo('App/Mobile','

我有两个模型,需要根据某些条件提取并过滤结果

手机:身份证,姓名,品牌

报价:id、modelid、retailerid

我的模型设置如下:

// Mobile
public function offer()
{
    return $this->hasMany('App/Offer','modelid','id');
}


// Offer
public function mobile()
{
    return $this->belongsTo('App/Mobile','modelid');
}
当我跑的时候

 $offers = App\Mobile::with(['offer'=>function($q){
     $q->orderBy('phonecost','asc')->first();
 }])->orderBy('Popularity','desc')->paginate(10);

我在报价关系中得到一个空数组

首先调试您的laravel查询,看看实际生成的SQL是什么,这样您就可以找出哪里出错了。它只是一起忽略关系,而不是在所有位置查询另一个表。因此,我认为在
with()
回调中使用
first()
是不正确的
first()
执行一个查询,但您正在处理急切加载。您可以像这样约束加载:。更不用说使用
first()
会得到一个单一的结果。嗯,我不认为这是问题所在,即使我放弃了函数,只使用了('offer'))它仍然忽略关系,只查询手机表您的外键是
offer
函数中的
modelid
,但在
mobile
函数中,它看起来像是
mobileid
。从调试您的laravel查询开始,查看实际生成的SQL是什么,这样您就可以找出哪里出错了。它只是一起忽略关系,而不是在所有位置查询另一个表。因此,我认为在
with()
回调中使用
first()
是不正确的
first()
执行一个查询,但您正在处理急切加载。您可以像这样约束加载:。更不用说使用
first()
会得到一个单一的结果。嗯,我不认为这是问题所在,即使我放弃了函数,只使用了('offer'))它仍然忽略关系,只查询手机表您的外键在
offer
函数中是
modelid
,但在
mobile
函数中,它看起来像是
mobileid