gpt4 book ai didi

php - laravel中数组到字符串的转换

转载 作者:可可西里 更新时间:2023-11-01 01:14:29 27 4
gpt4 key购买 nike

我正在尝试像这样从 laravel 5.0 中的表中获取一些数据

public function index()
{
$data = DB::table('modules')->get();

return view("BaseView.home")->with('data',$data);
}

这是我的看法

 @foreach($data as $modules)
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $modules->module_name }}<i class="plusMinus fa fa-plus-square plusMinusSpacing" aria-hidden="true"></i>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
{!! $moduleCategories = DB::table('module_categories')->where('modules_id','=',$modules->id)->get() !!}
@foreach($moduleCategories as $category)
<a class="dropdown-item" href="#">{{ $category->categories_name }}</a>
@endforeach
</div>
</li>
@endforeach

$module->id是从另一个查询结果中得到的。现在,当我尝试运行它时,我得到了 Array to string conversion。有人可以指出错误。预期输出 > 1,因为可以有多个类别名称匹配该条件。

最佳答案

问题是您试图将 php 逻辑放入 echo {{ ... }} 中。您正在尝试回显一个集合或一个数据数组,因此出现错误,Array to string conversion。正确的方法是在 Controller 中执行逻辑。但为了快速修复,请替换:

{!! $moduleCategories = DB::table('module_categories')->where('modules_id','=',$modules->id)->get() !!}

<php $moduleCategories = DB::table('module_categories')->where('modules_id','=',$modules->id)->get(); ?>

切勿使用 {{ ... }}{!! ... !!} 放置逻辑,这些是回显一个字符串。

==编辑==

我建议使用 laravels eloquent 关系方法,这将简化代码,并将逻辑与 View 分离。

注意:如果您使用的是 laravel 命名约定,请期待。

在您的 Modules 模型上,添加与 ModuleCategory 的关系,如下所示:

public function module_categories()
{
return $this->hasMany('App\ModuleCategory');
}

在你的 Controller 上,在索引方法上替换:

$data = DB::table('modules')->get();

$data = Modules::get();

最后在 View 上,像这样改变它:

@foreach($data as $modules)
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $modules->module_name }}<i class="plusMinus fa fa-plus-square plusMinusSpacing" aria-hidden="true"></i>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
@foreach($modules->module_categories as $category)
<a class="dropdown-item" href="#">{{ $category->categories_name }}</a>
@endforeach
</div>
</li>
@endforeach

关于php - laravel中数组到字符串的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43123660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com