Laravel и MySQL ПРИСОЕДИНЯЙТЕСЬ - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема с этим запросом ... Мне нужно вставить еще 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]);
    	}
    }

Извините за мой плохой английский.

1 Ответ

0 голосов
/ 31 мая 2018

Может быть проблема с данными, так как вы используете ->join, то есть innner join в Mysql, попробуйте использовать ->leftJoin, который не позволит запросу прерваться, если данные доступны, он выполнит соединение, иначе это будетоставьте выбранный столбец из объединенной таблицы пустым, надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...