Эквивалентный Laravel красноречивый для необработанного SQL запроса


Эквивалентный Laravel красноречивый для необработанного SQL запроса

19.10.2020 09:30:26 Просмотров 15 Источник

Недавно я начал изучать php и фреймворк laravel. В настоящее время я изучаю красноречивые запросы для хранения и извлечения данных из базы данных. Я могу выполнять простой выбор, вставку и т. д. однако я пытаюсь понять более сложный оператор, включая соединения.

Это запрос, который я хочу перевести, например: $sql = "SELECT p.id , p.name" from clients c INNER JOIN partners p ON c.id = p.p_id where p.id = :param";

Это прекрасно работает и дает результат, однако преобразованный красноречивый не дает такого же результата. Каково было бы правильное преобразование этого необработанного SQL - запроса в Laravel Eloquent?. Кроме того, было бы полезно немного узнать о присоединениях в красноречии.

Это то, что я пробовал:

DB::table('clients as c')
     ->join('partners as p', 'c.id', '=', 'p.c_id')
     ->where('p.id', '=', ':param')
     ->select('p.id' , 'p.name')
     ->get();
У вопроса есть решение - Посмотреть?

Ответы - Эквивалентный Laravel красноречивый для необработанного SQL запроса / Equivalent Laravel Eloquent for raw SQL query

Является ответом!
OMR

19.10.2020 09:51:16

параметр в конце-это переменная, которую вы передаете построителю запросов ...

и присоединяйтесь, все очень просто и понятно

DB::table('clients as c')
     ->join('partners as p', 'c.id', '=', 'p.c_id')
     ->where('p.id', '=', $paramerterVariable)
     ->select('p.id' , 'p.name')
     ->get();
Shahzad Manzoor

19.10.2020 09:59:52

Client::join('partners as p', 'clients.id', '=', 'p.p_id')->where('p.id',  $paramerterVariable)
->where('client_id', $clientId)
            ->select('p.id' , 'p.name')
            ->get();

п. p_id следует client_id в таблице партнеров

это Laravel Eloquent для необработанного SQL-запроса, или вы также можете использовать отношения laravel с ленивой загрузкой и нетерпеливой загрузкой

$client = Client::where('id', $clientId);
$partners = $client->partners();
Помочь в развитии проекта:
Закрыть X