Laravel 8中如何将变量值写入activity log活动日志的描述内容?
问题原因
PHP 语法中,单引号包裹的字符串不会解析内部的变量,你代码里写的 '$en' 会直接把 $en 作为纯字符串写入日志,不会输出变量对应的 establishment 名称值。
解决方法
你可以直接把变量作为参数传入 log() 方法,不需要加引号:
@php $en = $establishment->name; activity()->log($en); @endphp
如果需要给日志加固定前缀/后缀拼接描述,可以用下面两种写法:
- 用双引号包裹字符串,变量会被自动解析:
activity()->log("访问了机构:{$en}");
- 用 PHP 字符串拼接符
.拼接内容:
activity()->log('访问了机构:' . $en);
额外建议
尽量不要在 Blade 视图的 @php 块中写日志记录这类业务逻辑,建议把这部分逻辑迁移到对应路由的控制器方法中,代码分层更清晰,后续维护也更方便。
内容的提问来源于stack exchange,提问作者dwinpsy
相关产品推荐
相关产品推荐

