使用 eloquent 在 LARAVEL 中检索单行
retrieve single row in LARAVELusing eloquent
我正在使用 laravel 5.1 并希望在数据库中检索单行然后对其进行操作。
我当前的密码是
$profiles = Profile::where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)
->get();
foreach($profiles as $profile ){
$data['address'] = $profile->address;
}
为什么我不能这样做?
$profiles = Profile::where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)
->get();
$data['address'] = $profiles->address;
我是不是用错了功能?
提前致谢。
试试这个:
$data['address'] = $profiles[0]->address;
当您使用 get()
时,它 return 是一个 Std class 对象数组。
除了检索给定 table 的所有记录外,您还可以使用 first
检索单个记录。这些方法 return 不是 return 模型集合,而是单个模型实例:
// Retrieve the first model matching the query constraints...
$flight = App\Flight::where('active', 1)->first();
laravel 5.8
从个人资料中检索单行/单列
如果您只需要从数据库中检索一行 table,您可以使用 first()
方法。此方法将 return 单个 stdClass 对象:
$Profile = DB::table('Profiles')->where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)->first();
如果您甚至不需要整行,您可以使用 value()
方法从记录中提取单个值。这个方法会直接return列的值:
$address = DB::table('Profiles')->where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)->value('address');
我正在使用 laravel 5.1 并希望在数据库中检索单行然后对其进行操作。
我当前的密码是
$profiles = Profile::where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)
->get();
foreach($profiles as $profile ){
$data['address'] = $profile->address;
}
为什么我不能这样做?
$profiles = Profile::where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)
->get();
$data['address'] = $profiles->address;
我是不是用错了功能? 提前致谢。
试试这个:
$data['address'] = $profiles[0]->address;
当您使用 get()
时,它 return 是一个 Std class 对象数组。
除了检索给定 table 的所有记录外,您还可以使用 first
检索单个记录。这些方法 return 不是 return 模型集合,而是单个模型实例:
// Retrieve the first model matching the query constraints...
$flight = App\Flight::where('active', 1)->first();
laravel 5.8
从个人资料中检索单行/单列
如果您只需要从数据库中检索一行 table,您可以使用 first()
方法。此方法将 return 单个 stdClass 对象:
$Profile = DB::table('Profiles')->where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)->first();
如果您甚至不需要整行,您可以使用 value()
方法从记录中提取单个值。这个方法会直接return列的值:
$address = DB::table('Profiles')->where('user_id', $this->user->user_id)
->where('profile_code', $this->user->profile_code)->value('address');