تالار گفتمان nCIS.ir

نسخه‌ی کامل: جستجو در نام و نام خانوادگی Yii (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
توی Yii چطوری فقط از اول کلمه جستجو کنیم.
مثلا اگه زدیم "ت" اسم یه نفر که علی رضا تهرانی بود رو بیاره.
باید این مدلی کار کنید:
$users = Users::model()->findAll('username LIKE :startName OR username LIKE :wordStartName', array(':startName' => $name . '%', ':wordStartName' => ' ' . $name . '%'));
ممنون.من اینو نوشتم ولی میخوام مثلا اگه یه کاربر دو تا آدرس داشت دوبار اون یوزر رو توی خروجی نشون بده چیکار کنم؟
$buyuser = CHtml::encode($_POST['buyuser']);
            $criteria = new CDbCriteria;
            $criteria->distinct = FALSE;
            $criteria->with = array('addresses'=>array('alias'=>'adres', 'together'=>true),'addresses.city'=>array('alias'=>'city', 'together'=>true));
            $criteria->addCondition('t.name LIKE "'.$buyuser.'%" OR t.name LIKE "% '.$buyuser.'%" OR t.lastname LIKE "'.$buyuser.'%" OR t.lastname LIKE "% '.$buyuser.'%" OR adres.store LIKE "'.$buyuser.'%" OR adres.store LIKE "% '.$buyuser.'%" OR city.name LIKE "'.$buyuser.'%" OR city.name LIKE "% '.$buyuser.'%"');
            $users = Users::model()->findAll($criteria);
باید آدرس‌ها رو با جدول کاربران ادغام کنید. درواقع بجای اینجا findAll رو روی کاربران فراخوانی کنید و with رو با addresses تنظیم کنید، برعکس عمل کنید. findAll رو روی Addresses صدا بزنید و with رو با user تنظیم کنید. بجای t هم user بگذارین و بجای adres هم t قرار بدین.
ممنون دقیقا همونی شد که میخواستم.