Dengan menggunakan solusi ini, bagaimana saya bisa memasukkan variabel $conditions
ke kueri aktif saya?
$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();
Atas pertanyaan saya main_category_id != 0
. Solusi lain apa pun yang berhasil juga baik-baik saja
Harap dicatat bahwa saya memerlukan variabel $conditions
karena bervariasi. Inilah pertanyaan saya dengan pernyataan 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;
}
Harap dicatat bahwa $conditions
berfungsi dengan baik pada fungsi di atas, satu-satunya masalah adalah di sini main_category_id
tidak boleh sama dengan 0.
'main_category_id' => 0, 'main_category_id' => $id
. Apakah ini salah ketik? Bukankah seharusnya'main_category_id' => 0, 'sub_category_id' => $id
? - person arogachev   schedule 08.08.2015