我正在尝试使用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();
编辑:经过测试,第一种方法不起作用,但是第二种方法可以正常工作.
标签:laravel,php
来源: https://codeday.me/bug/20191025/1929044.html