我在blade.php中使用foreach循环时收到一个错误。我尝试过很多方法,但每次使用foreachloop时都收到相同的错误
下面是我的代码Post.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
@foreach($datafromtestmodel as $rows)
<li>
<p>{{$rows['name']}}</p>
<p>{{$rows['company']}}</p>
</li>
@endforeach
</ul>
</body>
</html>
控制器功能
public function index()
{
$testmodeldata = new testmodel;
$datafromtestmodel = $testmodeldata ->abc();
return view('post', compact('datafromtestmodel'));
}
模型函数
public function abc(){
$blabla = ['name' => 'abc', 'company' => 'abc company'];
return $blabla;
}
路线
Route::get('post','PostController@index');
2条答案
按热度按时间xurqigkl1#
正如我所看到的,'$datafromtestmodel'将是一维数组,但在blade文件中,您将其视为多维数组。这可以通过两种方式修复。或者像这样从模型函数返回多维数组。
或者你必须在刀片文件中更新它。
2jcobegt2#
您的
$datafromtestmodel
直接包含['name' => 'abc', 'company' => 'abc company']
。所以当你循环到每一项时,不是数组,而是直接值(第一次迭代时为'abc',第二次迭代时为'abc company')。它们不是数组。
要了解为什么abc函数应该返回数组值的数组