เมื่อใช้โซลูชันนี้ ฉันจะรับตัวแปร $conditions
ไปยังข้อความค้นหาที่ใช้งานอยู่ได้อย่างไร
$conditions = 'main_category_id != :main_category_id', ['category_status' => 1, 'main_category_id' => 0, 'sub_category_id' => $id,'type'=> 4];
$result = Category::find()->where($conditions)->orderby('category_name ASC')->all();
ตามคำถามของฉัน main_category_id != 0
โซลูชันอื่นใดที่ใช้งานได้ก็ใช้ได้ดีเช่นกัน
โปรดทราบว่าฉันต้องการตัวแปร $conditions
เนื่องจากตัวแปรเหล่านี้แตกต่างกันไป นี่คือคำถามของฉันด้วยคำสั่ง if:
public function get_subcategory_list($id="",$type="")
{
$conditions = ['category_status' => 1, 'main_category_id' => 0, 'main_category_id' => $id, 'type' => 2];
if($type == 2){
$conditions = ['category_status' => 1, 'main_category_id' => 0, 'sub_category_id' => $id, 'type' => 3];
}
if($type == 3){
$conditions = ['category_status' => 1, 'main_category_id' => 0, 'sub_category_id' => $id,'type'=> 4];
}
$result = Category::find()->where($conditions)->orderby('category_name ASC')->all();
return $result;
}
โปรดทราบว่า $conditions
ทำงานได้ดีบนฟังก์ชันด้านบน ปัญหาเดียวอยู่ที่นี่ main_category_id
ไม่ควรเท่ากับ 0
'main_category_id' => 0, 'main_category_id' => $id
มันพิมพ์ผิดหรือเปล่า? ควรจะเป็น'main_category_id' => 0, 'sub_category_id' => $id
ไม่ใช่เหรอ? - person arogachev   schedule 08.08.2015