php - 有没有办法使用 Eloquent 来做出这样的陈述?

标签 php mysql laravel-4 eloquent

我已经尝试了很多方法,但我的知识还不够好XD

DB::select ('SELECT c.`id_client`, UPPER (c.`name`) AS `name`, '
    . 'c.`telephone`, MATCH (c.`name`) AGAINST ( ? ) AS `match` '
    . 'FROM client c '
    . 'WHERE MATCH (c.`name`) AGAINST ( ? ) '
    . 'HAVING `match` > 5.2 ORDER BY `match` DESC LIMIT 10', array ($name, $name));

最佳答案

不确定是否可以用 Eloquent 来完成,也许 Fluent相反?

$results = DB::table('client')
    ->select(array(
        'id_client', 'name', 'telephone',
        DB::raw("MATCH(name) AGAINST (?) AS match")
    ))
    ->whereRaw("MATCH (name) AGAINST(?)")
    ->having('match', '>', 5.2)
    ->orderBy('match','desc')
    ->limit(10);

那里可能会有一些拼写错误,但这应该为您指明了正确的方向。

修正了一些错别字。

更新: 您可以尝试使用“匹配”,如下面的 2 个示例所示。不确定是否有效,因为我还没有测试过,但都尝试一下——第二个看起来更干净:

->where(DB::raw('MATCH(`some_field`)'),'AGAINST',DB::raw('("bar")'))

或者

->whereRaw('MATCH (some_field) AGAINST("bar")')

只需将栏替换为您想要匹配的内容即可。希望有帮助。

关于php - 有没有办法使用 Eloquent 来做出这样的陈述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23459731/

相关文章:

MySQL - 从同一列过滤 - 返回匹配的行和 - 过滤器的单独列

mysql - 如何设计一个数据库,以便每个条目都可以存储对其他条目的引用?

php - 在 Laravel 4 中搜索和过滤/精炼数据库结果

laravel-4 - Laravel - 三个模型的数据透视表 - 如何插入相关模型?

php - Symfony 3.1.5 警告:SessionHandler::read(): session 数据文件不是由您的 uid 创建的

javascript - 使用 jQuery AJAX 更新 mysql 表

mysql - where in 子句 mysql 按相关性排序

php - Laravel 查询 : orWhere: double condition

PHP session_destroy() 警告 Session 对象销毁失败

php - 下载文件 CakePHP 3