Yii2 model findOne and Condition

برای به دست آوردنیک رکورد از دیتابیس از findOne استفاده میکنیم

 f$model = User::find()->one();

در صورتی که کوئری ما دارای شروطی بود به صورت های زی می توانیم شرط گذاری نماییم

روش اول با استفاده از پارامتر:

$userid=1;
$model = User::find()
	->where('userid > :userid', [':userid' => $userid])
	->one();

روش دوم:

$model = User::find()
	->where(['reg_date' => $date, 'status' => 1])
	->one(); 

روش سوم:

$model = User::find()
	->where("reg_date > '2014-01-01' and status=1")
	->all();

روش چهارم AND , OR:

$model = User::find()
	->where('userid > :userid', [':userid' => $userid])
	->orWhere('primary_user = :primary_user', [':primary_user' => $primary_user])
	->andWhere('status = :status', [':status' => $status])
	->all();

خروجی روش چهارم به این شکل می باشد

ELECT * FROM `tbl_user` WHERE ((userid > 1) OR (primary_user = 1)) AND (status = 1)

Leave a Reply

Your email address will not be published. Required fields are marked *