我对此查询有疑问...我需要再插入 2 个连接..
->join('torneo as t','t.idtorneo','=','p.id_torneo')
和
->join('temporada as s','s.idtemporada','=','p.id_temporada')
运行:
->select('p.idpartido','p.id_temporada','t.nombre_torneo as torneo','s.temporada as nombre_temporada','c.nombre as team1','k.nombre as team2','p.estado')
我的代码可以正常工作...但是当添加其他连接时...它会失败。
“SQLSTATE[23000]:违反完整性约束:1052”
public function index(Request $request)
{
if ($request)
{
$query=trim($request->get('searchText'));
$partidos=DB::table('partido as p')
->join('club as c','p.idteam1','=','c.idclub')
->join('club as k','p.idteam2','=','k.idclub')
->select('p.idpartido','p.id_temporada','c.nombre as team1','k.nombre as team2','p.estado')
->where('estado','=','Activo')
->orderBy('idpartido','desc')
->paginate(7);
return view('partidos.index',["partidos"=>$partidos,"searchText"=>$query]);
}
}
抱歉我的英语不好。
最佳答案
数据可能有问题,因为您正在使用->join
,它是Mysql 中的innner join
尝试使用->leftJoin
如果数据可用,它不会让查询中断,它将进行连接,否则它将从连接表中选择的列保留为空白,希望它能有所帮助:)
关于mysql - Laravel 和 MySQL JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624930/