Laravel 8关联查询别名字段在Blade/控制器中无法显示求助
问题解决方法
你遇到的问题可以从以下几个方向排查解决:
检查模型隐藏字段设置:打开
Courses模型,查看是否存在$hidden属性且包含stitle或btitle。如果有,将这两个字段从$hidden数组中移除——Laravel会自动隐藏该数组内的字段,导致无法通过属性访问。排查同名访问器:检查
Courses模型中是否定义了getStitleAttribute或getBtitleAttribute方法。这类访问器会覆盖查询返回的字段值,要么修改访问器逻辑,要么在查询时给字段更换别名(比如把standards.standtitle AS stitle改为standards.standtitle AS standard_title)。尝试数组方式访问属性:在Blade模板中改用数组索引访问字段,比如
{{ $row['stitle'] }}。如果这样能正常显示值,说明问题出在模型的属性访问机制上,回到前两点继续排查。清除视图缓存:执行命令
php artisan view:clear,旧的视图缓存可能会导致新字段无法正常渲染。
你已经通过dd($data)确认查询结果包含目标字段,说明关联查询逻辑是正确的,重点排查模型的属性控制和视图缓存即可。
内容的提问来源于stack exchange,提问作者Haroon Patel
相关产品推荐
相关产品推荐

