تالار گفتمان nCIS.ir

نسخه‌ی کامل: شرط در کوئری و ریلیشن ها
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام

فرض کنیم ما 3 تا جدول داریم

categories
category
kala

که با هم ریلیشن دارن و همه confirmed دارن

حالا میخواهیم فقط کالا هایی رو نمایش بده که confirmed دسته بندی هاش یعنی category و categories هر دو 1 باشه

میخواستم بدونم در شرط چه باید نوشت ؟

Kala::find()->where()->all();
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#joining-with-relations
// SELECT `customer`.* FROM `customer`
// LEFT JOIN `order` ON `order`.`customer_id` = `customer`.`id`
// WHERE `order`.`status` = 1
// LEFT JOIN `book` ON `book`.`customer_id` = `customer`.`id`
// WHERE `book`.`status` = 1

$customers = Customer::find()
->leftJoin('order', '`order`.`customer_id` = `customer`.`id`')
->where(['order.status' => Order::STATUS_ACTIVE])
->leftJoin('book', '`book`.`customer_id` = `customer`.`id`')
->where(['book.status' => Book::STATUS_ACTIVE])
->all();