2015-10-22 4 views
0

i tried this one но не повезло. Мое требование состоит в том, что у меня есть таблица, называемая tabAccount. он имеет несколько повторяющихся значений и нулевые значения для поля 'parent_account'. Я хочу выбрать только отдельные значения для поля parent_account, также поле group_or_ledger со значением Ledger и поле root_type со значением Expense. Как я могу это сделать?Получение четких строк из Db в yii2

я пытался что-то вроде этого

$expense = TabAccount::find()->select('DISTINCT `parent_account`')->where(['root_type'=>'Expense']) 
        ->andWhere(['group_or_ledger'=>'Ledger']) 
        ->andWhere(['not', ['parent_account' => null]])->all(); 

ответ

1

отчетливый булева функция см Yii2 api distinct()

$query = TabAccount::find(); 
$query->select('parent_account'); 
$query->distinct(); 
$query->where(['root_type'=>'Expense']); 
$query->andWhere(['group_or_ledger'=>'Ledger']) 
$query->andWhere(['not', ['parent_account' => null]]); 
$expense = $query->all(); 

Вы также можете попробовать:

$query = new Query;    
$query->select('parent_account') 
->from(TabAccount::tableName()) 
->distinct() 
->where(['root_type'=>'Expense']) 
->andWhere(['group_or_ledger'=>'Ledger']) 
->andWhere(['not', ['parent_account' => null]]); 

$command = $query->createCommand(); 
$data = $command->queryAll(); 
+0

он дал мне нулевой результат – Bloodhound

+0

что является выполненный запрос sql? – BHoft

+0

мой плохой я выполнял его на неправильном действии. Я попробовал первый, и он сработал. – Bloodhound

Смежные вопросы