对于刀片@sections周围的每个循环是可能的

时间:2016-11-22 07:58:57

标签: php laravel vue.js laravel-blade

对于我所拥有的项目,我一直在学习“代码”一年多,并且已经陷入了我想为用户创建的特定功能。我有很多div,从数据库中呈现不同的信息。 Html和css看起来很棒然后我创建了刀片@sections来保存信息,但很难添加功能。

@foreach($canal as $canal)
    @section('water-left')
        <img class="img-responsive" src="{{ asset('images/canals/' . $canal->image)}}">
            @section('location')
                <strong class="words myh4">{{$canal->name}}</strong>
                    @section('water-right')
                        <img class="img-responsive" src="{{ asset('images/canals/' . $canal->image)}}">
                    @endsection
            @endsection
    @endsection
@endforeach

我将数据库的内容分页为3并尝试将id1图像附加到('water-left'),将id2名称附加到('location'),将id3图像附加到('water-right')当前我在所有部分获得id1任何帮助,请我的控制器看起来像这样

public function getcanalimage()
{
    $canal = Canal::paginate(3);
    return view('waters.canal_fishing',compact('canal'));
}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

尝试使用foreach循环,因为$ canal是包含更多值的数组,您需要使用循环来显示它们:

@section('water-right')              
@foreach($canal as $item) 
    <img class="img-responsive" src="{{ asset('images/canals/' . $item->image)}}">
    @endforeach 
@endsection

答案 1 :(得分:0)

问题发布已经有一段时间了,但是对于使用Laravel 5.8的任何人来说,似乎都有一个未记录的blade标签/指令,名为 @overwrite

因此用 @overwrite 替换 @endsection 即可完成工作。

@foreach($canal as $canal)
    @section('water-left')
        <img class="img-responsive" src="{{ asset('images/canals/' . $canal->image)}}">
            @section('location')
                <strong class="words myh4">{{$canal->name}}</strong>
                    @section('water-right')
                        <img class="img-responsive" src="{{ asset('images/canals/' . $canal->image)}}">
                    @overwrite
            @overwrite
    @overwrite
@endforeach