Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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/8/mysql/68.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将sql转换为雄辩的查询_Php_Mysql_Laravel 5 - Fatal编程技术网

Php laravel将sql转换为雄辩的查询

Php laravel将sql转换为雄辩的查询,php,mysql,laravel-5,Php,Mysql,Laravel 5,我有一个带有连接的sql查询 select t.id,t.trip_id,c.containerid,s.shipment_name,s.source_location_name,s.destination_location_name,ss.status_name,st.status_name as status_type from (select T.* from(SELECT * FROM tbl_trip_status ORDER BY id DESC) T group by T.tri

我有一个带有连接的sql查询

select t.id,t.trip_id,c.containerid,s.shipment_name,s.source_location_name,s.destination_location_name,ss.status_name,st.status_name as status_type from 
(select T.* from(SELECT * FROM tbl_trip_status ORDER BY id DESC) T group by T.trip_id) ts
JOIN tbl_trips t ON t.id=ts.trip_id
JOIN tbl_container c ON c.id=t.container_id 
JOIN tbl_shipment s ON s.id=t.shipment_id 
JOIN tbl_statuses ss ON ss.id=ts.status_id
JOIN tbl_status_types st ON st.id=ss.status_type
where t.status=1 and t.user_id in (1,2,3,4,5,6,14)  
ORDER BY `t`.`trip_id` ASC
当我试图用这个原始查询调用paginate()时,我需要在雄辩的模式下使用这个查询,它显示

对数组上的成员函数paginate()的调用


我认为问题是,在从查询中获取数据之后,您已经将Std类对象转换为数组,这就是为什么会出现错误

试试这个:

$data = DB::select(DB::raw('your query'));
这里的
$data
是一个
Std类对象
,您可以在其上调用分页函数

谢谢大家 我在雄辩的询问中找到了一个解决方案,即

DB::table('tbl_trips as t')->select('t.id','t.trip_id','c.containerid','s.shipment_name','s.source_location_name','s.destination_location_name','ss.status_name','st.status_name as status_type')
                    ->join(DB::raw('(select T.* from(SELECT * FROM tbl_trip_status ORDER BY id DESC) T group by T.trip_id) ts'),'ts.trip_id', '=', 't.id')
                    ->join('tbl_container as c', 'c.id', '=', 't.container_id')
                    ->join('tbl_shipment as s', 's.id', '=', 't.shipment_id')
                    ->join('tbl_statuses as ss', 'ss.id', '=', 'ts.status_id')
                    ->join('tbl_status_types as st', 'st.id', '=', 'ss.status_type')
                    ->where('t.status','=',"1")
                    ->where('t.id', '=', 'ts.trip_id')
                    ->whereIn('t.user_id',$subusrs)
                    ->paginate(10);

仅此而已。

这里还对(10)函数进行分页,显示对成员函数错误的相同调用。您应该考虑接受您的答案,因为您找到了解决方案。