首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只返回查询的值,而不是在函数中返回一对“列”:“值”。

只返回查询的值,而不是在函数中返回一对“列”:“值”。
EN

Stack Overflow用户
提问于 2020-12-09 13:58:31
回答 1查看 32关注 0票数 0

我在我的用户模型中有这样的功能:

代码语言:javascript
复制
public function adminlte_image()
{
   return Employee::where('user_id',$this->id)->get('image');
}

返回:

代码语言:javascript
复制
[
   {"image":"Base64 String"}
]

但是,我想要的只是返回该列的值,而不是json,因为该函数是在img中调用的:

代码语言:javascript
复制
<img src="Base64 String" class="user-image img-circle elevation-2" alt="Mathias Oliveira">

下面是当前代码的样子:

代码语言:javascript
复制
<img src="[{"image":"Base64 String"}]" class="user-image img-circle elevation-2" alt="Mathias Oliveira">

我不能编辑html或函数的调用方式,只能编辑函数本身。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 14:05:22

试一试

代码语言:javascript
复制
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?

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65218246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档