0
次のクエリをkohanaのORMに変換するのは難しいです。だから、KohanaのORMを使用したMySqlクエリビルド
、私は次の操作を実行している場合は正常に動作します:
$query = DB::query(Database::SELECT, 'SELECT id_book, MATCH(title, author, isbn) AGAINST (:str) AS score FROM tab_books WHERE status = 1 AND MATCH(title, author, isbn) AGAINST (:str) HAVING score > '.$score.' ORDER BY score DESC LIMIT 100');
しかし、私は特定のクラスモデルを使用する必要があります。これまでのところ私が持っている:私はスコア値を使用することができないんだということを除いて、正常に動作します
$books = new Model_Book();
$books = $books->where('status', '=', 1);
$books = $books->where(DB::expr('MATCH(`title`,`author`,`isbn`)'), 'AGAINST', DB::expr("(:str)"))->param(':str', $search_terms);
。テーブルエンジンをInnoDBに変更したため、2番目のクエリが多くの結果を返すため、スコアが必要です。ここ
ORM:https://github.com/kohana/orm/blob/3.3/master/classes/Kohana/ORM.php
はお時間をいただき、ありがとうございます。
はbato3ありがとうございます。 – Raphael