「LIKE」クエリを作成するときにDrupal \ Core \ Database \ Databaseを使用することもできます。db_select()は推奨されないため、これはDrupal 8の代替構文です。
$database = Database::getConnection();
$query = $database->select('TABLE NAME', 'u')
->fields('u', array('column1','column2'));
$query->condition('column1', '%'.$database->escapeLike($search_phrase) . '%', 'LIKE');
または、ORクエリで倍数を追加します。
$DB_OR = $query->orConditionGroup()
// find match anywhere in field
->condition('column1', '%' . $database->escapeLike($search_phrase) . '%', 'LIKE')
// find match starting at beginning
->condition('column2', $database->escapeLike($search_phrase) . '%', 'LIKE');
// find match at end of field
->condition('column1', '%' . $database->escapeLike($search_phrase), 'LIKE')
$query->condition($DB_OR); // Add OR object as condition
$result = $query->execute();
db_query
、引数として渡すこともできます...Query::condition
。クエリの種類ごとに個別の演算子のドキュメントを見つけることはできません。それは意味がありません。それはすべて1日の終わりにPDOを通過しdb_like
、変数を正しく準備する場合db_query
、定義により同じ変数を正しく準備しますdb_select