2015-03-31 57 views
0

右,所以我的查詢如下所示:如何查詢「哪裏」的東西在一分鐘等於什麼

$subcategory = Subcategory::find()->asArray()->all(); 

這基本上是從我的子類別表,將它所有的數據抓取到$子類別。

但是我想找到具體的數據。例如在我的子類別表中,我有一個名爲subcategory_id的列。

現在我想給拉了回來

即時猜測,它是這樣的,但它是不工作的所有子類別,其中subcategory_id = $ firstcategory(這將是一個數字)。有關如何執行此查詢的任何想法?

$subcategory = Subcategory::find()->asArray()->all()->where('subcategory_id' 
== $firstcategory); 

回答

1

有沒有必要猜測,只是讀docs。下面是做到這一點的方法之一:

$subcategory = Subcategory::find() 
    ->where(['subcategory_id' => $firstcategory]); 
    ->asArray() 
    ->all(); 

注意,使用all()的順序是至關重要的,一旦它叫你得到結果的數組,你不能再修改查詢。

+0

我從字面上解決了這個問題,把 $ subcategory =子類:: findAll(['parent_id'=> $ firstcategory]); – 2015-03-31 10:33:08

+0

我不知道你還有什麼需要,根據你目前的問題公式,我給你的答案就是如何實現它。 – arogachev 2015-03-31 10:34:17

+0

是的,你也可以得到這樣的數據,但是你在你的問題中使用了'asArray()'。在這種情況下無法添加,因爲'findAll()'在調用後立即返回結果。 – arogachev 2015-03-31 10:37:01