php - 使用 Laravel 5 从原始 SQL 语句获取结果

标签 php laravel

我正在尝试使用 PDO 和 Laravel 5.5 做一些声明。

public static function getNbCoach() {
    return DB::select('SELECT COUNT(*) FROM utilisateur WHERE id_statut = 2 AND actif = true');
}

结果是:

array:1 [▼
   0 => {#186 ▼
      +"count": 0
   }
]

我怎样才能得到结果(在本例中为 0)而不是数组。

我已经尝试过了,但不起作用。

public static function getNbCoach() {
    return DB::select('SELECT COUNT(*) FROM utilisateur WHERE id_statut = 2 AND actif = true')->get();
}

public static function getNbCoach() {
    return DB::select('SELECT COUNT(*) FROM utilisateur WHERE id_statut = 2 AND actif = true')[0];
}

谢谢你的帮助!

最佳答案

->get()总是返回一个多维数组。有两种方法可以做到这一点:

使用->first()改为:

    return DB::select('SELECT COUNT(*) FROM utilisateur WHERE id_statut = 2 AND actif = true')->first();

<罢工>

或者使用 QueryBuilder 方法,它将返回一个实际数字而不是对象或数组:

    return DB::table('utilisateur')
      ->where('id_statut', 2)
      ->where('actif', true)
      ->count();

修改:经测试,第一种方法不行,第二种方法可以。

关于php - 使用 Laravel 5 从原始 SQL 语句获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47816503/

相关文章:

javascript - FullCalendar 事件定向到错误的 url

PHP redis 错误

mongodb - 在 Laravel 之外 Eloquent 地使用 jenssegers/laravel-mongodb 多个数据库连接

Laravel 5 路由模型绑定(bind)在服务器上不起作用

json - Laravel 在正文中发送 JSON header

php - PDO Mysql错误1064

php - 配置为使用本地 phpMyAdmin 客户端访问远程服务器时,来自 phmpMyAdmin 的错误

php - Laravel 以另一个用户身份登录

php - Mysql,数据库/服务器之间的数据迁移(现在迁移,稍后定期更新)

php - 如何从 foreach 循环中仅将某物放入 1 项中(使用 laravel)