我想使用一个我有2个面板的网页。
第一个,在左侧,带有搜索按钮,并添加了x个最后元素的列表。 (Ajax将用于根据搜索栏输入编辑列表)
右边的第二个面板是所选元素的结果(所有信息)。 (默认情况下,它是第一个)
制作ajax时应首先更新第一个。但是,除非点击列表中的项目,否则第二个不得更改。
我想知道如何继续......
目前,我的控制器index()
和show()
中有2个不同的功能。在索引视图中,我有@yield('show')
并且在展示视图中@extends('index')
。
问题是我必须为每个函数检索: 列出所有元素和特定元素的完整数据,即使它之前已经加载过。这是由yield / extends引起的。
正因为如此,当在搜索栏中进行新搜索时,第二个面板会刷新,不再是我之前选择的那个
//Hospital controller
public function index()
{
$hospitals = Hospital::orderBy('name')->paginate(15);
$hospital = Hospital::orderBy('name')->first();
return view('admin.hospitals.show', compact('hospitals' , 'hospital'));
}
public function show($id)
{
$hospitals = Hospital::orderBy('name')->paginate(15);
$hospital = Hospital::find($id);
return view('admin.hospitals.show', compact('hospitals' , 'hospital' ));
}
index.blade.php
@foreach( $hospitals as $h )
<li>
<a href = "/admin/hospitals/{{ $h->id }}"><b>{{ $h->name }}</b></a>
</li>
@endforeach
{{ $hospitals->links() }}
@yield('hospital-show')
show.blade.php
@extends('admin.hospitals.index')
@section('hospital-show')
//Lot of infos here used by $hospital->myInfo
@endsection
我认为我的代码设计一开始就被仔细考虑了但是......我不知道该去哪里。
很抱歉,如果这对你来说显而易见,但我对laravel很新,我试图获得最佳实践
第二个小组也是CRUD经理。因此可以通过此界面发布表单。
我不希望这里有技术解决方案,只是未来解决此类问题的一种方法。
也许我只需要拒绝这种功能,只需管理不同页面上的不同选项URI的|功能|和意见......
你们怎么看?