Как добавить запрос сортировки в laravel

Мне нужно запустить запрос с collate utf8_bin следующим образом:

 SELECT * FROM `table` WHERE `field`='value' collate utf8_bin; 

Это строго для сценария администратора, и я не хочу обновлять сам набор символов, только для конкретного запроса.

Могу ли я сделать это с помощью Eloquent ORM или мне нужно написать этот запрос?

Поскольку вы можете настроить драйвер MySQL, чтобы использовать его:

 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 

Вы можете создать другое соединение для своего конкретного запроса:

 'mysql-collation' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => '<your collation>', 'prefix' => '', ), 

И используйте это соединение по вашему запросу:

 $users = DB::connection('mysql-collation')->select(...); 

РЕДАКТИРОВАТЬ:

На модели вы, вероятно, сможете установить соединение таким образом:

 $posts = new Word; $posts->setConnection('mysql-collation'); $posts->where(...); 

Вы можете сделать это таким образом, если он решает вашу проблему:

 SomeModel::whereField($value)->orderByRaw("name COLLATE utf8_bin ASC")->get();