Donnerstag, April 9, 2020

Wählen Sie Daten mit like-operator in yii2

Wie kann ich abrufen von Daten mit Like Betreiber?

Ich habe dies ausprobiert, aber erhalte eine Fehlermeldung:

    use yii\db\Query;
    public function getExportData($searchVal = '')
    {
         $query = new Query;
         if($searchVal != '') { **here i am getting error when searchVall != ''**   
             $query->select('*')->from('post')
             ->where(['like', 'title', $searchVal])
             ->orderBy(['added_date_time' => SORT_DESC]);
             $posts = $query->createCommand()->queryAll();
         } else {
             $query->select('*')->from('post')->orderBy(['added_date_time' => SORT_DESC]);
             $posts = $query->createCommand()->queryAll();
                }
             return $posts;
     }

Gibt es eine einfache Möglichkeit für die select-Anweisung?

  • Welche Fehler haben Sie?

4 Kommentare

  1. 1

    Wenn Sie möchten, übergeben Sie die Abfrage mit variable, dann verwenden Sie findBySql () – Methode.
    Zum Beispiel,

    $query = "SELECT * FROM `post` where `title` LIKE 'foo%' ";
    $result = Model::findBySql($query)->all();

    Hoffe, dies wird Ihnen helfen, Ihr problem zu lösen.

  2. 1

    Beste Praxis ist es so:

    $query = "SELECT * FROM ".YourModel::tableName()." where title LIKE :param";
    $result = YourModel::findBySql($query, [':param' => $param.'%'])->all();

    Hoffe, dies hilft jemand.

Kostenlose Online-Tests