Laravel中如何展示数组指定项?视图仅显示Name字段遇问题
解决Laravel视图仅展示Name字段的问题
我来帮你搞定这个问题~首先看你控制器里的代码,问题出在视图传参的方式上:withdata($data)不是Laravel正确的传参写法,这会导致视图里拿不到你传递的数组,自然没法展示字段。
第一步:修正控制器的传参逻辑
把控制器的index方法改成下面的写法(三种方式任选其一,推荐前两种):
function index() { $data = [ ['id'=>'1','Name'=>'Debasais','sirname'=>'Acharya'], ['id'=>'2','Name'=>'prashant','sirname'=>'Mohaptra'], ['id'=>'3','Name'=>'Silu','sirname'=>'Mohaptra'] ]; // 方式1:使用with方法明确指定变量名(最直观) return view("welcome")->with('users', $data); // 方式2:直接将数据数组作为view的第二个参数 // return view("welcome", ['users' => $data]); // 方式3:驼峰式的withXXX语法(可读性稍弱,不推荐) // return view("welcome")->withUsers($data); }
第二步:在视图中仅展示Name字段
打开welcome.blade.php,用Laravel的Blade语法遍历数组,只取出Name字段展示:
<!-- 遍历传递过来的users数组,仅渲染Name字段 --> @foreach($users as $user) <div>{{ $user['Name'] }}</div> @endforeach
小提醒
- 视图里使用的变量名要和控制器传递的完全一致(比如上面用的
$users,别写错); - 你的字段名是首字母大写的
Name,所以在视图里要严格写成$user['Name'],别写成小写的name,不然会取不到值哦。
内容的提问来源于stack exchange,提问作者Debasis Kr. Acharya
相关产品推荐
相关产品推荐

