如何在 laravel 中获取对象
how to fetch object in laravel
$sql = "select userId,UserName from User_Master(nolock) where UserName = '$username'"; //Need to change query for location.
$results = DB::select($sql);
$userId = $results[0]['userId'];
我无法以这种方式打印 $userId。 laravel
中的正确语法是什么
我对laravel
不太熟悉,但是在laravel
中编写查询必须遵循标准结构。根据 laravel 文档,您需要更改查询,如下所示:
$results = DB::table('User_Master(nolock)')
->select(DB::raw('userId , UserName'))
->where('UserName', '=', $username)
->get();
print_r($results); // You can see your query result here
有关详细信息,请查看 laravel documentation。
编辑
根据@Ethan22 的建议和laravel 文档:
select
方法总是 return 一个 array
结果。数组中的每个结果都是 PHP StdClass object
.
所以你需要尝试 $results[0]->userId
您可以使用以下方式获取 userId:
$userId = $results[0]->userId;
但是您的代码存在一些问题。首先你应该确保你有这样的记录所以它应该是这样的:
$userId = $results ? $results[0]->userId : null;
此外你应该考虑SQL注入,所以更安全的是使用:
$sql = "select userId,UserName from User_Master(nolock) where UserName = ?"; //Need to change query for location.
$results = DB::select($sql, [$username]);
$userId = $results ? $results[0]->userId : null;
$sql = "select userId,UserName from User_Master(nolock) where UserName = '$username'"; //Need to change query for location.
$results = DB::select($sql);
$userId = $results[0]['userId'];
我无法以这种方式打印 $userId。 laravel
中的正确语法是什么我对laravel
不太熟悉,但是在laravel
中编写查询必须遵循标准结构。根据 laravel 文档,您需要更改查询,如下所示:
$results = DB::table('User_Master(nolock)')
->select(DB::raw('userId , UserName'))
->where('UserName', '=', $username)
->get();
print_r($results); // You can see your query result here
有关详细信息,请查看 laravel documentation。
编辑
根据@Ethan22 的建议和laravel 文档:
select
方法总是 return 一个 array
结果。数组中的每个结果都是 PHP StdClass object
.
所以你需要尝试 $results[0]->userId
您可以使用以下方式获取 userId:
$userId = $results[0]->userId;
但是您的代码存在一些问题。首先你应该确保你有这样的记录所以它应该是这样的:
$userId = $results ? $results[0]->userId : null;
此外你应该考虑SQL注入,所以更安全的是使用:
$sql = "select userId,UserName from User_Master(nolock) where UserName = ?"; //Need to change query for location.
$results = DB::select($sql, [$username]);
$userId = $results ? $results[0]->userId : null;