在laravel中联接多个表
我需要左连接laravel中的三个表。我在两个表中为id指定了相同的名称以进行连接,但我没有得到正确的输出。我没有得到整个id值,只是得到了连接的id在laravel中联接多个表,laravel,Laravel,我需要左连接laravel中的三个表。我在两个表中为id指定了相同的名称以进行连接,但我没有得到正确的输出。我没有得到整个id值,只是得到了连接的id $products = DB::table('categories') ->leftjoin('subcategories', 'categories.category_id', '=', 'subcategories.category_id') ->leftjoin('products', 'prod
$products = DB::table('categories')
->leftjoin('subcategories', 'categories.category_id', '=', 'subcategories.category_id')
->leftjoin('products', 'products.subcat_id', '=', 'subcategories.subcat_id')
->get()->toArray();
Ouput
id Category Subcategory Product
1 Lunch Chinese noodles
1 Lunch Chinese pizza
2 Breakfast Indian dosa
2 Breakfast Indian idly
Dinner
Meals
xyz
您应该使用select like
$products = DB::table('categories')
->leftjoin('subcategories', 'categories.category_id', '=', 'subcategories.category_id')
->leftjoin('products', 'products.subcat_id', '=', 'subcategories.subcat_id')
->select('products.id as productId', 'categories.id as categoriesId', 'subcategories.id as subCategoryId', 'categories.Category as Category', 'categories.Subcategory as Subcategory', 'product.name as product')
->get()->toArray();
如果你想获得所有的产品,我建议你首先使用产品模型,在快速加载中,你应该获得所有其他的关系值。为什么不尝试使用laravel与模型的关系?