как сделать join в laravel? получить только некоторые столбцы другой таблицы - PullRequest
0 голосов
/ 04 июля 2019

Я работаю в админ-панели ... где я получаю все продукты из базы данных и показываю в таблице ... проблема в том, что я хочу получить каждый продукт категории из таблицы "категория" и получить запас каждого продукта из "продуктов" атрибут "таблица ... я создаю объединение, но это объединение идентификатора продукта, имени акции или выигрыша из другой таблицы ... Спасибо.

  public function viewProducts(Request $request){
    $products = Product::get();

    $products = Product::join('categories','categories.id','products.category_id')
    ->join('products_attributes','products_attributes.product_id',
            'products.id')
    ->get();

    $products = json_decode(json_encode($products));

    //echo "<pre>"; print_r($products); die;

    return view('admin.products.view_products')->with(compact('products'));
}

Ответы [ 2 ]

0 голосов
/ 04 июля 2019
$products = Product::join('categories','categories.id','products.category_id')
->join('products_attributes','products_attributes.product_id','products.id')
->get(['categories.category_name as category_name', 'products_attributes.stock as product_stock', 'products.*']);
0 голосов
/ 04 июля 2019

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

Product::join('categories','categories.id','products.category_id')
->join('products_attributes','products_attributes.product_id','products.id')
->select(['categories.category_name as category_name', 'products_attributes.stock as product_stock', 'products.*'])
->get()->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...