Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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 如果id不为null,则返回laravel elequent_Php_Laravel - Fatal编程技术网

Php 如果id不为null,则返回laravel elequent

Php 如果id不为null,则返回laravel elequent,php,laravel,Php,Laravel,我用hasMany&belongsTo关系连接了表 新娘模型: public function plans() { return $this->hasMany("App\Plan"); } 计划模型: public function bridal() { return $this->belongsTo("App\Bridal"); } 我有一个查询将这些数据返回到端点 public function bridal() { $bridals = Brida

我用hasMany&belongsTo关系连接了表

新娘模型:

public function plans()
{
    return $this->hasMany("App\Plan");
}
计划模型:

public function bridal()
{
    return $this->belongsTo("App\Bridal");
}
我有一个查询将这些数据返回到端点

public function bridal()
{

    $bridals = Bridal::with(["plans" => function($query){
        $query->orderBy("plans.plan_price");
    }])
    ->groupBy("place_name")
    ->get();


    return $bridals;

}
一切都很好,除了一件事。在婚宴桌上,一些身份证上没有计划。因此,当我返回数据时,一些bridal id附带了一个空的Plans数组


我想防止这种情况发生。如果新娘身份证没有计划,那么我不想退还新娘身份证。我怎样才能在这里实现我想要的

在您的查询中添加whereHas:这样您将获得有计划的婚礼记录

$bridals = Bridal::with(["plans" => function($query){
       $query->orderBy("plans.plan_price");
   }])
   ->whereHas('plans')
   ->groupBy("place_name")
   ->get();

在您的查询中添加whereHas:这样您将获得有计划的婚礼记录

$bridals = Bridal::with(["plans" => function($query){
       $query->orderBy("plans.plan_price");
   }])
   ->whereHas('plans')
   ->groupBy("place_name")
   ->get();
你可以用Has。如果您只使用has'relation',这意味着您只想得到在这个关系中至少有一个相关模型的模型

$bridals = Bridal::with(["plans" => function($query){
        $query->orderBy("plans.plan_price");
    }])->has('plans')
    ->groupBy("place_name")
    ->get();
查看您可以使用Has的更多信息。如果您只使用has'relation',这意味着您只想得到在这个关系中至少有一个相关模型的模型

$bridals = Bridal::with(["plans" => function($query){
        $query->orderBy("plans.plan_price");
    }])->has('plans')
    ->groupBy("place_name")
    ->get();

查看更多信息

谢谢,也感谢您提供解释链接。我会检查它作为答案。很高兴能帮助兄弟。谢谢你们,也感谢你们的解释链接。我会核对答案的。很乐意帮助兄弟。