【发布时间】:2017-06-17 11:21:25
【问题描述】:
我正在尝试从多个表中获取数据。我已将连接语句存储在 $Joins 数组中,并将该数组传递给模型
这是我迄今为止尝试过的 -
$tbl_name="user_master";
$select= ['user_master.*', 'country.country_name', 'city.city_name', 'login_master.email_id', 'login_master.password'];
$joins=[
"'country', 'user_master.country_id', '=', 'country.country_id'",
"'city', 'user_master.city_id', '=', 'city.city_id'",
"'login_master', 'user_master.user_id', '=', 'login_master.user_id'"
];
$users=$obj->getdata($tbl_name,$select,$joins);
型号 -
public function getdata($tbl_name,$select,$joins)
{
$users = DB::table($tbl_name)
->join($joins)
->select($select)
->paginate(5);
return $users;
}
我正在尝试将 $joins 数组传递给查询,但它显示错误 -
Illuminate\Database\Query\Builder::join() 缺少参数 2,在第 61 行的 /opt/lampp/htdocs/demo_laravel/app/Models/Userdata.php 中调用并定义
如果我尝试 -
$users = DB::table($tbl_name)
->join('country', 'user_master.country_id', '=', 'country.country_id')
->join('city', 'user_master.city_id', '=', 'city.city_id')
->join('login_master', 'user_master.user_id', '=', 'login_master.user_id')
->select($select)
->paginate(5);
return $users;
它工作正常,但是当我将数组传递给连接时,它显示错误。
如何解决?
请帮帮我。
【问题讨论】:
-
我认为 join 不会接受数组参数。使用你的第二个例子。很清楚。
-
join 可以接受数组但不知道如何