首页 > 解决方案 > laravel - 将选定的字段发送到函数

问题描述

我如何在功能中使用“airpot_id”?

    City::select([
                "cities.id",
                "airports.id As airport_id"
            ])
  ->RightJoin('airports', function ($join)
                {
                    $join->on('cities.id', '=', 'airports.city_id');
                })
->with(["airports" =>  function  ($q)
                {
                    $q->where("id",airport_id) //I want to use here.

                }]) 
->paginate(env("PER_PAGE", 10))->toArray();

标签: laravelselectlaravel-5eloquent

解决方案


你为什么用这样的关节?使用 eloquent 查询生成器。也许你应该发布你modalrelations你的目标。一般来说,如果我们需要在函数内部传递值,我们使用use($variable). 像这样的东西

$airport_id = 1;
$data = City::with(["airports" =>  function  ($q) use($airport_id){   //Like this we pass data
                    $q->where("id",airport_id)
                }])->get();

我认为这不适用于您的情况


推荐阅读