下面是我的控制器代码:
public function getGroupAgainstMember(Request $request)
{
$user_id = $request->input('user_id');
$user =User::find($user_id);
$groupDetails=$user->groups; // Trying to get property of non-object
if (empty($groupDetails)) {
$resultArray = ['status' => false, 'message' => 'Group details.', 'data' => []];
return \Illuminate\Support\Facades\Response::json($resultArray, 200);
}
if ($groupDetails)
$resultArray = ['status' => true, 'message' => 'Group & Members details!', 'groups' => $groupDetails];
else
$resultArray = ['status' => false, 'message' => 'Group details not found.', 'data' => []];
return \Illuminate\Support\Facades\Response::json($resultArray, 200);
}
我正在获取用户ID的记录,如果用户ID存在,它会显示此用户ID的数据,如果我输入随机用户ID(如1233),它会显示"尝试获取非对象的属性“,我还在代码中提到了此错误。
我想显示一条消息,如果我输入任何ID,如1234,则用户ID不存在。我还设置了条件if(empty($$groupDetails)),但未显示正确的错误消息。
您的帮助将不胜感激!
5条答案
按热度按时间z31licg01#
问题是您试图获取null属性。当用户不存在时,
$user
不是对象,它没有任何props我想显示用户ID不存在的消息
那么你可以这样做:
9jyewag02#
此行之后:
你可以添加这样的内容:
vqlkdk9b3#
如果要显示用户ID不存在的消息
ovfsdjhp4#
我在你的代码中发现了两个问题,如下所示:-首先,检查是否存在与组的关系或不使用dd().如果你得到的数据正确,然后检查是否groupdetails是空的或不.
第二个问题是你用的是empty函数检查groupdetails是否为空,然后又用if条件检查groupdetails是否存在,是一个,是一样的,不需要用两个if条件检查groupdetails是否为空,你只需要
mutmk8jj5#
您可以使用验证
这将自动给予未找到消息
您可以在此找到更多信息:https://laravel.com/docs/9.x/validation