私はいくつかのテーブル結合を行い、いくつかの問題を抱えています。 お客様の完全な名前とタイトル、アイテムの説明、数量は、2000年4月以降に注文された商品ごとに表示する必要があります。スクリプトは動作しますが、私はLaravel ORMを使用する必要があります。私はここに、テーブル "顧客"、 "注文"Laravelテーブルの結合
のための2つのモデルを作成し
SELECT `first_name`,`last_name`,o.order_id,`quantity`,`description`,`date_placed`
FROM `customer` c
JOIN `order` o
ON c.`customer_id` = o. `customer_id`
JOIN `orderline` ol
ON o.`order_id` = ol. `order_id`
JOIN `item` i
ON ol.`item_id` = i. `item_id`
WHERE `date_placed` > '2000-4-00';
は私の顧客モデルここ
public function orders(){
return $this->hasMany('App\Order','customer_id');
}
である私のためのモデルが
public function orderline(){
return $this->hasMany('App\Orderline','order_id');
}
で右今私は私のデータのいくつかを得ることができますが、これは良い方法ですように感じることはありません
$customer = Customer::all();
foreach($customer as $input){
$item = Customer::find($input->customer_id)->orders;
$name = $input->title . ' ' . $input->first_name . ' ' . $input->last_name;
$datePlaced = null;
$orderID = null;
foreach($item as $value){
$orderID = $value->order_id;
$datePlaced = $value->date_placed;
$order = Order::find($value->order_id)->orderline;
}
誰かが正しい方向に私を指し示すことができればそれはすばらしくなるでしょう。
何が質問ですか?何かエラーがありますか? –