سلام
در site/index کدهای زیر رو نوشتم:
در لیوت کد زیر را نوشتم:
مدل جستجو بصورت زیر هست:
موقع اجرا خطای Undefined variable: search را نشان میدهد.
لطفا راهنمایی کنید.
متشکرم.
در site/index کدهای زیر رو نوشتم:
1 2 3 4 5 6 | if (Yii:: $app ->request->queryParams){ $search = new ProductSearch(); $dataProvider = $search ->search(Yii:: $app ->request->queryParams); $models = $dataProvider ->getModels(); return $this ->render( 'index' , compact( 'search' , 'models' )); } |
در لیوت کد زیر را نوشتم:
1 | <?= $form ->field( $search , 'searching' )->textInput([ 'placeholder' => 'جستجوی محصول' ]); ?> |
مدل جستجو بصورت زیر هست:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | class ProductSearch extends Products { public $searching ; /** * @inheritdoc */ public function rules() { return [ [[ 'searching' ], 'safe' ], ]; } /** * @inheritdoc */ public function scenarios() { // bypass scenarios() implementation in the parent class return Model::scenarios(); } /** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search( $params ) { $query = Products::findAll([ 'confirmed' =>1]); $dataProvider = new ActiveDataProvider([ 'query' => $query , ]); $this ->load( $params ); if (! $this ->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider ; } $query ->FilterWhere([ 'like' , 'name' , $this ->searching]); return $dataProvider ; } } |
موقع اجرا خطای Undefined variable: search را نشان میدهد.
لطفا راهنمایی کنید.
متشکرم.