请任何人向我解释这种情况,我没有理解。 代码可以正常工作,但是我忘记了我用来返回值的逻辑。
$chkBlock = Blocked::where("block_username", "=", Auth::user()->username)
->where("user_username", "=", $username)
->count();
if ($chkBlock > 0) {
return \Redirect::back()->withSuccess( 'This User Block you' );
}
答案 0 :(得分:1)
Blocked::where("block_username", "=", Auth::user()->username)
->where("user_username", "=", $username)
->count();
这是SQL查询,它将根据条件返回记录数。
if ($chkBlock > 0) {
return \Redirect::back()->withSuccess( 'This User Block you' );
}
这将检查计数是否大于0,然后使用成功消息重定向到上一页。
答案 1 :(得分:1)
在这种情况下,您正在从Blocked
模型中获取数据,以检查用户是否被阻止。
为此,您只需传递当前的登录用户名(Auth::user()->username
),然后再指定一个用户名($username
)。
$chkBlock = Blocked::where("block_username", "=", Auth::user()->username)
->where("user_username", "=", $username)
->count();
此查询正在执行的操作是检查blockeds
表中是否有包含当前用户和给定用户名($username
)的行,并进行计数。
现在是第二个查询:
if ($chkBlock > 0) {
return \Redirect::back()->withSuccess( 'This User Block you' );
}
您正在检查rowCount
是否有条目。如果count为1或大于0表示用户被阻止,并且您正在使用消息This User Block you
如果要查看正在运行的MySQL查询,只需使用:
DB::enableQueryLog();
//Your Model query goes here
dd(DB::getQueryLog());
它将死亡并转储MySQL查询。