【问题标题】:how to make join in laravel ? get only some columns of another table如何使加入 laravel ?只获取另一个表的某些列
【发布时间】:2019-07-04 07:07:06
【问题描述】:

我在管理面板上工作...我从数据库中获取所有产品并显示在表中...问题是我想从“类别”表中获取每个产品类别并从“产品”中获取每个产品的库存属性”表...我正在创建一个连接,但此连接会折叠产品 id 、名称股票或来自另一个表的奖品...谢谢。

  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'));
}

【问题讨论】:

  • 在查询中添加一个 ->select() 方法并告诉它您还需要其他连接表中的项目。 ->select('categories.*','products.*') 或者如果你想要所有东西,只需 ->select('*')
  • 谢谢兄弟...

标签: laravel laravel-5 join eloquent


【解决方案1】:
$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.*']);

【讨论】:

    【解决方案2】:

    试试这个:

    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();
    

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多