Как создать оператор соединения SQL в Laravel Controller - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть две таблицы customer_id, а именно tbl_customer и tbl_stocks, подключенные к одной базе данных.Моя логика в этой проблеме - JOIN SQL.

Это для Laravel и MySQL, до сих пор я пробовал это на PHP и работает нормально, но когда я реализую его на Laravel, он не работает, я удивляюсь, почему?

вот мойкод в PHP и хотите преобразовать его в laravel, но я не знаю, где поставить?положу ли я его в представление или в контроллер

$query = "SELECT c.*, s.* FROM tbl_customer c JOIN tbl_stock s ON s.customer_id = c.customer_id AND c.customer_id = 1";

контроллер

$data = DB::table('tbl_customer')
            ->join ......  //Im not sure about this 
            ->select ....  // neither this 
            ->get();

            print_r($data)

модель

У меня нет кодов на моей модели

Маршруты

Route::get('/admin/shopcontrol', 'Admin\ShopsController@testquery');

Я ожидаю результата выборки или получения запроса или результата значений впросто echo и соединение извлечения подключено

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Попробуйте это:

    $data = DB::table('tbl_customer')
                ->join('tbl_stock', 'customer_id', '=', 'tbl_customer.customer_id')
                ->select('tbl_customer.*', 'tbl_stock.*')
                ->where('customer_id', '=', 1) 
                ->get();
0 голосов
/ 30 декабря 2018

Вы проверили сайт Laravel?

https://laravel.com/docs/5.7/queries#joins

На нем есть демонстрация, которую вы можете использовать для реорганизации своего кода.

Как следует ниже с сайта.

Оператор внутреннего объединения Joins

Построитель запросов также может использоваться для написания операторов соединения.Чтобы выполнить базовое «внутреннее соединение», вы можете использовать метод join в экземпляре построителя запросов.Первым аргументом, переданным методу объединения, является имя таблицы, к которой нужно присоединиться, а остальные аргументы определяют ограничения столбцов для объединения.Конечно, как вы можете видеть, вы можете объединить несколько таблиц в одном запросе:

$users = DB::table('users')
            ->join('contacts', 'users.id', '=', 'contacts.user_id')
            ->join('orders', 'users.id', '=', 'orders.user_id')
            ->select('users.*', 'contacts.phone', 'orders.price')
            ->get();

Там вы можете найти больше информации, если она вам подходит.

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