1つ以上の関係を持つorder_products
とorder_product_tax
の2つのテーブルがあります。 1 order_productsはここで、複数のorder_product_taxMysqlグループbyおよび関連するテーブルを左に結合するPHP Yii2
を持つことができる私は、この結果を得ることができますどのようにこの
[
{
"product_id":2809,
"product_name":"Test Product1",
"quantity":5,
"amount":500,
"taxes":[
{
"tax_id":47,
"tax_name":"VAT",
"tax_amount":21.14
},
{
"tax_id":48,
"tax_name":"CST",
"tax_amount":5.17
}
]
},
{
"product_id":2810,
"product_name":"Test Product2",
"quantity":4,
"amount":200,
"taxes":[
{
"tax_id":47,
"tax_name":"VAT",
"tax_amount":12.57
},
{
"tax_id":48,
"tax_name":"CST",
"tax_amount":11.34
}
]
}
]
のような出力を取得する必要があります http://sqlfiddle.com/#!9/2608e
二つのテーブルのSQLフィドルのですか?
PHPとYii2を使用しています。
ご協力いただければ幸いです。
編集:Yii2モデル
OrderProduct
OrderProductTax
class OrderProductTax extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'order_product_tax';
}
public function rules()
{
return [
[['order_product_id', 'tax_id'], 'integer'],
[['tax_amount'], 'number'],
[['tax_name'], 'string', 'max' => 20],
];
}
public function attributeLabels()
{
return [
'id' => 'ID',
'order_product_id' => 'Order Product ID',
'tax_id' => 'Tax ID',
'tax_name' => 'Tax Name',
'tax_amount' => 'Tax Amount',
];
}
}
order_productsテーブルの外部キーとは何ですか? –
@Jon Ekizあなたがテーブルフィドルを見れば、両方のテーブルの自動増分である 'id'フィールドがありますか? –
これまでに試したことはありますか? –