テーブルstaff
には、フィールドid
とinitials
があります。これらの両方のはstaff
表にinitials
を指している必要があります -Yii2でこの関係を設定する方法
関連テーブルsales
はフィールドseller
、およびlister
を持っています。
販売テーブルには、リスターだったスタッフに売り手だった別のスタッフがいます。これは実装しようとしている関係です。
私はこの種のものをドキュメントで見つけることができるとは確信していません。 Sales
モデルで
は、私が持っている方法をルール:しかし
[['lister'], 'exist', 'skipOnError' => true, 'targetClass' => Staff::className(), 'targetAttribute' => ['lister' => 'id']],
[['seller'], 'exist', 'skipOnError' => true, 'targetClass' => Staff::className(), 'targetAttribute' => ['seller' => 'id']],
、私は、私が取得していますstaff.initials
経由GridViewの関係を表示しようとすると、例外
Getting unknown property: app\models\Sale::staff
私は「
私は関係をどこか正しく表現していないのでしょうか、あるいは私のdbデザインに欠陥がありますか?
は私たちに、私が持っているどのようなあなたの販売のクラス – soju
の対応関係を表示する販売モデルでは上記です。私が紛失しているものがありますか? – yoyoma