我在我的用户模型中有这样的功能:
public function adminlte_image()
{
return Employee::where('user_id',$this->id)->get('image');
}返回:
[
{"image":"Base64 String"}
]但是,我想要的只是返回该列的值,而不是json,因为该函数是在img中调用的:
<img src="Base64 String" class="user-image img-circle elevation-2" alt="Mathias Oliveira">下面是当前代码的样子:
<img src="[{"image":"Base64 String"}]" class="user-image img-circle elevation-2" alt="Mathias Oliveira">我不能编辑html或函数的调用方式,只能编辑函数本身。
发布于 2020-12-09 14:05:22
试一试
public function adminlte_image()
{
return Employee::where('user_id',$this->id)->firstOrFail()->image;
}firstOrFail将确保当没有使用user_id = $this->id的记录时,它不会抛出对null访问图像属性的错误,而是在给定的user_id = $this->id没有找到模型记录时抛出ModelNotFound异常。
虽然有效,但如果没有记录而没有ModelNotFound异常,是否有方法返回null?
public function adminlte_image()
{
$emp = Employee::where('user_id',$this->id)->first();
return $emp ? $emp->image : null;
//OR using optional helper
return optional(Employee::where('user_id', $this->id)->first())->image;
}Laravel博士:https://laravel.com/docs/8.x/helpers#method-optional
https://stackoverflow.com/questions/65218246
复制相似问题