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中加入数据_Php_Mysql_Laravel - Fatal编程技术网

Php 如何选择所有数据+;在laravel中加入数据

Php 如何选择所有数据+;在laravel中加入数据,php,mysql,laravel,Php,Mysql,Laravel,我有一个join查询,根据酒店房间的折扣对酒店进行显示和排序,如下所示: $direction=$descending?'DESC':'ASC'; $data=$query->join('住宿房间','住宿.id','=','住宿房间 ->加入(‘折扣’、‘住宿\房间.id’、‘=’、‘折扣.住宿\房间\u id’) ->选择(“住宿*”、“住宿/客房*”、“折扣*”) ->订货人(‘折扣、金额’、‘说明’); 返回$data; 现在,这个查询只会选择那些有折扣房间的酒店,最后,它会对它们进行

我有一个join查询,根据酒店房间的折扣对酒店进行显示和排序,如下所示:

$direction=$descending?'DESC':'ASC';
$data=$query->join('住宿房间','住宿.id','=','住宿房间
->加入(‘折扣’、‘住宿\房间.id’、‘=’、‘折扣.住宿\房间\u id’)
->选择(“住宿*”、“住宿/客房*”、“折扣*”)
->订货人(‘折扣、金额’、‘说明’);
返回$data;

现在,这个查询只会选择那些有折扣房间的酒店,最后,它会对它们进行排序,但我想选择所有的住宿,并首先显示那些有折扣房间的酒店。我想做的是,如果房间里有折扣,而且什么也没有发生,我想得到所有的住宿,并对折扣金额进行排序。

使用
leftJoin
加入折扣。“左联接”将包括您要开始的表中的所有行,并在第二个表中的不匹配行上联接
null

这不是答案。所以去掉这个。如果你想问一些澄清,请在评论中问他们。是的,将secound join更改为left join可以解决这个问题,这样你就可以编辑你的答案供将来的人使用谢谢