首页 > 解决方案 > 如何将 ID 从 Laravel Blade 视图传递给模型

问题描述

问题我正在尝试将一个$idfrom Blade 视图@foreach循环传递给 a Model,以便我可以返回与此特定page.

想法是,您可以单击所有任务,然后它会转到 http://kanban.test/team/kanban/1/show-all并显示所有任务。

当您单击低谷时,pages它们就像标签过滤器并带您到 http://kanban.test/team/kanban/1/1/show

在此处输入图像描述

当我手动设置时,page id = 1它确实有效。当我尝试传递 ID 时,它没有给出任何错误,但没有任何显示。

手动设置 ID

// Column.php Model
public function tasksOnPage(){
        return $this->cards()->where('page_id',1);
    }

// Blade View
@foreach ($kanban->columns as $column )

   @foreach ($column->tasksOnPage as $card)
      @include('kanbans.show-card') 
   @endforeach

@endforeach

试图传递 id

当我这样做时,它确实显示了每列内{{$page->id}}的正确 id 。1

// Column.php Model
public function tasksOnPage($id){
        return $this->cards()->where('page_id',$id);
    }

// Blade View
@foreach ($kanban->columns as $column )

   @foreach ($column->tasksOnPage($page->id) as $card)
       @include('kanbans.show-card') 
   @endforeach

@endforeach

如果我遇到一些错误,那将很有帮助 >.< 。关于如何调试它以找到可能的问题的任何建议?由于页面加载正常,并且没有错误?

标签: laraveleloquentlaravel-blade

解决方案


我决定把它做成一个 livewire 组件,我可以通过这种方式传递 ID。

@foreach ($kanbans as $kanban )
   @livewire('kanbans.show-sidebar-kanban', ['kanban'=>$kanban], key($kanban->id))
@endforeach

这个关于嵌套的视频很有帮助:)

对于任何可能陷入困境的人

https://laravel-livewire.com/screencasts/nesting


推荐阅读