رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جستجو در نام و نام خانوادگی Yii (حل شد)
#1
سلام
توی Yii چطوری فقط از اول کلمه جستجو کنیم.
مثلا اگه زدیم "ت" اسم یه نفر که علی رضا تهرانی بود رو بیاره.
پاسخ
تشکر شده توسط:
#2
باید این مدلی کار کنید:
$users = Users::model()->findAll('username LIKE :startName OR username LIKE :wordStartName', array(':startName' => $name . '%', ':wordStartName' => ' ' . $name . '%'));
پاسخ
تشکر شده توسط: hamid
#3
ممنون.من اینو نوشتم ولی میخوام مثلا اگه یه کاربر دو تا آدرس داشت دوبار اون یوزر رو توی خروجی نشون بده چیکار کنم؟
$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);
پاسخ
تشکر شده توسط:
#4
باید آدرس‌ها رو با جدول کاربران ادغام کنید. درواقع بجای اینجا findAll رو روی کاربران فراخوانی کنید و with رو با addresses تنظیم کنید، برعکس عمل کنید. findAll رو روی Addresses صدا بزنید و with رو با user تنظیم کنید. بجای t هم user بگذارین و بجای adres هم t قرار بدین.
پاسخ
تشکر شده توسط: hamid
#5
ممنون دقیقا همونی شد که میخواستم.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان