ฉันมีคำถามจากฐานข้อมูลของฉันซึ่งฉันต้องการสร้างผลลัพธ์เป็นอาร์เรย์ ฉันใช้ laravel แต่ฉันไม่ได้ใช้ Eloquent เพราะฉันเป็นเพียงมือใหม่ นี่คือคำถามของฉัน
แบบสอบถาม:
$array = array();
$shippings = DB::table('shipping_table')
->select('*')
->leftJoin('shipping_products', function ($join) use ($array) {
$join->on('shipping_products.shipping_id','=','shipping_table.shipping_id');
})
->leftJoin('products', function ($join) use ($array) {
$join->on('products.product_id', '=', 'shipping_products.product_id');
})->get();
dd($shippings);
ผลลัพธ์การค้นหาของฉันคือ:
Collection {#296 ▼
#items: array:2 [▼
0 => {#297 ▼
+"shipping_id": 56
+"shipping_date": null
+"total_amount": 95000
+"shipping_receiver": "Robert"
+"shipping_address": "test"
+"mobile_number": "09992238185"
+"user_id": 1
+"shipping_status": 0
+"paywith": "paypal"
+"id": 9
+"product_id": 1
+"quantity": 15
+"subcategory_id": 1
+"featured_img": "sample image1.jpg"
+"product_name": "Product 1"
+"description": "Product 1 desc"
+"price": 46000.0
+"status": "published"
+"created_at": "2017-10-04 05:29:59"
+"updated_at": "2017-10-04 05:29:59"
}
1 => {#287 ▼
+"shipping_id": 56
+"shipping_date": null
+"total_amount": 95000
+"shipping_receiver": "Robert"
+"shipping_address": "Test"
+"mobile_number": "09992238185"
+"user_id": 1
+"shipping_status": 0
+"paywith": "paypal"
+"id": 10
+"product_id": 2
+"quantity": 10
+"subcategory_id": 1
+"featured_img": "DSC04477-e1490885078524-200x300.jpg"
+"product_name": "Product 2"
+"description": "Product 2 desc"
+"price": 49000.0
+"status": "published"
+"created_at": "2017-10-04 05:58:55"
+"updated_at": "2017-10-04 05:58:55"
}
]
}
ผลลัพธ์ที่ได้มา ไม่พอใจ เพราะอยากได้ผลลัพธ์แบบนี้
Collection {#296 ▼
#items: array:1 [▼
0 => {#297 ▼
+"shipping_id": 56
+"shipping_date": null
+"total_amount": 95000
+"shipping_receiver": "test"
+"shipping_address": "tester"
+"mobile_number": "09992238185"
+"user_id": 1
+"shipping_status": 0
+"paywith": "paypal"
#products: array:2 {
0 => {
+"product_id": 1
+"quantity": 15
+"subcategory_id": 1
+"featured_img": "sample.jpg"
+"product_name": "Product 1"
+"description": "Product desc 1"
+"price": 46000.0
+"status": "published"
+"created_at": "2017-10-04 05:29:59"
+"updated_at": "2017-10-04 05:29:59"
}
1 => {
+"product_id": 2
+"quantity": 10
+"subcategory_id": 1
+"featured_img": "DSC04477-e1490885078524-200x300.jpg"
+"product_name": "Product 2"
+"description": "Product Desc 2"
+"price": 46000.0
+"status": "published"
+"created_at": "2017-10-04 05:29:59"
+"updated_at": "2017-10-04 05:29:59"
}
}
ฉันจะทำสิ่งนี้ได้อย่างไร? โปรดช่วยฉันสร้างด้วยแบบสอบถามที่ถูกต้อง ฉันต้องการสร้างผลิตภัณฑ์เป็นอาร์เรย์ย่อย
นี่คือโครงสร้างตารางของฉัน:
ตารางการจัดส่งสินค้า:
Ship_ID (INT AUTO INC)
AMOUNT (DOUBLE,2)
NAME (VARCHAR)
SHIP_DATE (DATE)
RECEIVER (VARCHAR)
การจัดส่งสินค้า_ผลิตภัณฑ์:
ID (INT AUTO INC)
Ship_id (foreign key from shipping table)
Product_id
สินค้า_ตาราง:
Product_id (Auto Inc)
name(varchar)
Qty(int)
Description (varchar)
toArray()
ต่อท้ายหลัง->get()
- person Ketan Solanki   schedule 04.10.2017