Проблема SQL-соединения с Laravel, но отображение идентичных - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть 2 таблицы, которые называют кошками и продуктами.

и я хочу присоединиться к ним обоим, и результат показан ниже: кстати код SQL я это

SELECT * 
FROM `cats` c join products p ON p.cat_id=c.id 
where c.cat_name = 'FFVII'

кошка и продукты присоединяются к таблице ответ image

Итак, вот проблема. Я хочу, чтобы Id показывал красным цветом, а не оранжевым. Это в любом случае решить эту проблему? Пожалуйста, проверьте изображение ниже, и я буду признателен за ваше решение. Спасибо ...

окончательный ответ на запрос

Вот функция, которую я поставил на странице контроллера

public function proCat(Request $request){
    $cat = $request->cat;

    $data= DB::table('products')->join('cats','cats.id','products.cat_id')
        ->where('cats.cat_name',$cat)->get();
    dd($data);
    return view('front.products',[
        'data' => $data , 'catByUser' => $cat
    ]);
}

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018
SELECT cat_name, 
       p_id, 
       cats.created_at, 
       cats.updated_at, 
       products.* 
FROM   cats c 
       JOIN products p 
         ON p.cat_id = c.id 
WHERE  c.cat_name = 'FFVII' 
0 голосов
/ 05 ноября 2018

Если вам не нужны какие-либо поля из таблицы, вы можете указать, какие поля требуются в SQL-запросе.

Итак, вместо SELECT *, вы должны упомянуть такие поля, как

SELECT cat_name, 
       p_id, 
       created_at, 
       updated_at 
FROM   cats c 
       JOIN products p 
         ON p.cat_id = c.id 
WHERE  c.cat_name = 'FFVII' 

В вашем контроллере вы можете получить результат с помощью кода ниже.

$result = DB::table('cats')
            ->join('products', 'products.cat_id', '=', 'cats_id')
            ->select('cats.cat_name', 'cats.p_id', 'cats.created_at', 'cats.updated_at', 'products.*')
            ->where('cats.cat_name', '=', 'FFVII')
            ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...