درود
من برای معتبر سازی از کد زیر استفاده کردم
و وقتی از
استفاده میکنم تا sql ایجاد شده را ببینم، کد ساخته شده زیر رو نشون میده :
و چون مهمه که خروجی به صورت شیء ActiveQuery برگردانده بشه از این روش استفاده میکنم.
مشکل اینجاست وقتی پارامتر رو جایگزین یا توی کد سرجاش میذاره، اون رو بین ' میذاره و کد sql رو دچار مشکل میکنه..
اشتباه من کجاست و یا چه کنم که دیگه اینجوری نشه و بتونم پارامتر ارسالی رو معتبر سازی کنم و کوئری به درستی اجرا بشه..
با تشکر
من برای معتبر سازی از کد زیر استفاده کردم
1 | $query = data::find()->where( "( `dtitle` like '%:search%' or `dtitle` like ':search%' or `dtitle` like '%:search' ) and `dstate`=1" )->addParams([ ':search' => $search ])->orderBy( ' `did` desc' ); |
1 2 3 | $command = $query ->createCommand(); echo $command ->rawSql; |
1 | SELECT * FROM `data` WHERE ( `dtitle` like '%' weqwe '%' or `dtitle` like '' weqwe '%' or `dtitle` like '%' weqwe '' ) and `dstate`=1 ORDER BY `did` DESC |
مشکل اینجاست وقتی پارامتر رو جایگزین یا توی کد سرجاش میذاره، اون رو بین ' میذاره و کد sql رو دچار مشکل میکنه..
اشتباه من کجاست و یا چه کنم که دیگه اینجوری نشه و بتونم پارامتر ارسالی رو معتبر سازی کنم و کوئری به درستی اجرا بشه..
با تشکر