استفاده از توابع بازگشتی و متد ایجکس

[rtl]در کد زیر که تو دموی بلاگ هستش اومده به خود تابعی که در حال استفاده هستش بازگشتی زده بهش. اینجا هم به این صورت نیازی نیست از عبارت اکشن ابتدای تابع استفاده بشه؟ این متد میاد تگهایی که کاربر وارد میکنه رو به صورت ایجکسی اگه وارد کرده باشه قبلا لود میکنه. رابطشو با دیتابیس نمیتونم بفهم چطوریه میشه کمک کنید؟[/rtl]


	/**

	 * Suggests tags based on the current user input.

	 * This is called via AJAX when the user is entering the tags input.

	 */

	public function actionSuggestTags()

	{

		if(isset($_GET['q']) && ($keyword=trim($_GET['q']))!=='')

		{

			$tags=Tag::model()->suggestTags($keyword);

			if($tags!==array())

				echo implode("\n",$tags);

		}

	}

[font="Tahoma"][rtl]نه اینجا suggestTags ربطی به actionSuggestTags نداره! this$ که استفاده نکرده!

suggestTags یک متد درون مدل Tag هست اونجا پیداش میکنید. ارتباط با دیتابیسش هم همونجاست از findAll استفاده کرده.

اینم کدش:

[/rtl]




	public function suggestTags($keyword,$limit=20)

	{

		$tags=$this->findAll(array(

			'condition'=>'name LIKE :keyword',

			'order'=>'frequency DESC, Name',

			'limit'=>$limit,

			'params'=>array(

				':keyword'=>'%'.strtr($keyword,array('%'=>'\%', '_'=>'\_', '\\'=>'\\\\')).'%',

			),

		));

		$names=array();

		foreach($tags as $tag)

			$names[]=$tag->name;

		return $names;

	}



[/font]