You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Laravel Eloquent将单行数据传递到视图并提取字段值

解决Laravel获取单行单列数据只显示值的问题

你当前用get()方法返回的是Eloquent集合(哪怕只有一条数据),所以echo时会输出集合的JSON格式,导致出现[{"contents":"Example Company Ltd"}]。以下几种方法可以直接拿到你需要的字符串值:

方法1:用value()直接获取字段值(最简洁)

直接用value()方法,它会返回匹配到的第一条数据的指定字段值:

// 控制器代码
$companyName = Homepage::where('section', 'Company Name')->value('contents');

在视图里直接输出即可:

echo $companyName;

方法2:用first()获取单条模型实例后取属性

先用first()获取匹配的第一条模型数据,再直接访问对应的属性:

// 控制器代码
$companyName = Homepage::select('contents')->where('section', 'Company Name')->first();

视图里输出属性值:

echo $companyName->contents;

注意:如果数据库中没有匹配的数据,first()会返回null,这时直接访问->contents会报错,可以加上判断:echo $companyName?->contents;(PHP 8+支持)或者echo isset($companyName) ? $companyName->contents : '';

方法3:用pluck()结合first()取值

pluck()会提取指定字段组成集合,再用first()取集合的第一个元素:

// 控制器代码
$companyName = Homepage::where('section', 'Company Name')->pluck('contents')->first();

视图里直接输出即可:

echo $companyName;

你之前尝试的$companyName->get('contents')没用,是因为get()返回的集合调用get()方法还是返回集合,没法直接拿到单个值。

内容的提问来源于stack exchange,提问作者Mercutheo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:41:00