我想从laravel 5.6中的数据库中检查记录,但收到消息“类stdClass的对象无法转换为int”。
$pengoreksi = DB::table('peserta')->latest('pengoreksi')->first();
if($pengoreksi <= 8){
$korektor = $pengoreksi++;
}
else {
$korektor = 1;
}
答案 0 :(得分:2)
根据文档
如果只需要从数据库表中检索一行,则可以使用第一种方法。此方法将返回一个StdClass对象:
$user = DB::table('users')->where('name', 'John')->first();
echo $user->name;
不能直接使用$ pengoreksi,首先将值存储在任何变量中,然后使用它。
$pengoreksi = DB::table('peserta')->latest('pengoreksi')->first();
$pen = $pengoreksi->pengoreksi;
if($pengoreksi <= 8){
$korektor = $pen++;
}
else {
$korektor = 1;
}
答案 1 :(得分:0)
在这一行中,您将获得包含许多列的数据库行,并添加列名
$pengoreksi = DB::table('peserta')->latest('pengoreksi')->first()->{**COLUMN_NAME**};
答案 2 :(得分:0)
这不起作用,因为您将检索一个对象。您需要访问对象中的值才能访问您的号码。
$pengoreksi = DB::table('peserta')->latest('pengoreksi')->first();
//If you have saved pangoreksi as a string in your database you must type hint (int) on $pengoreksi->pangoreksi
if($pengoreksi->pangoreksi <= 8){
$korektor = $pengoreksi->pangoreksi++;
}
else {
$korektor = 1;
}