Heim >Backend-Entwicklung >PHP-Tutorial >mysql优化 - php laravel5.1框架 城市 模型 无限极分类 循环写法
有这么一个需求 类似与城市的三级分类
数据表如下
id
pid
name
这三个字段
通过 laravel 模型
<code>/** * 资源列表数据模型仓库 */ public function index() { $city = $this->city->all(); return $city; } </code>
<code> public function index(Request $request) { $cities = $this->city->index(); $data['cities'] = $cities; return view('admin.city.index',$data); } </code>
在视图模块循环
<code>@foreach($cities as $key => $li) <tr> <td class="text-gray">{{ $li -> updated_at }}</td> <td class="text-aqua">{{ $li -> name }}</td> <td class="text-light-blue">{{ $li -> pid }}</td> <td class="text-green">{{ $li -> tag }}</td> <td> <a href="%7B%7B%20route('admin.city.index')%20%7D%7D/%7B%7B%20%24li->id%20%7D%7D/edit"><i class="fa fa-fw fa-pencil" title="修改"></i></a> </td> </tr> @endforeach </code>
改怎么处理
<code>$city = $this->city->all() </code>
得到的数据 可以输出 上级城市的名称呢?现在只能输出上级的id;
如何有简单的 优雅的 输出 上级城市名称呢;
另外 如果是 无限极分类 改怎么写循环呢
另外 如果是 无限极分类 改怎么写循环呢
另外 如果是 无限极分类 改怎么写循环呢
重点说三遍 !O(∩_∩)O哈哈~ ;
有大神指导一下可以吗
有这么一个需求 类似与城市的三级分类
数据表如下
id
pid
name
这三个字段
通过 laravel 模型
<code>/** * 资源列表数据模型仓库 */ public function index() { $city = $this->city->all(); return $city; } </code>
<code> public function index(Request $request) { $cities = $this->city->index(); $data['cities'] = $cities; return view('admin.city.index',$data); } </code>
在视图模块循环
<code>@foreach($cities as $key => $li) <tr> <td class="text-gray">{{ $li -> updated_at }}</td> <td class="text-aqua">{{ $li -> name }}</td> <td class="text-light-blue">{{ $li -> pid }}</td> <td class="text-green">{{ $li -> tag }}</td> <td> <a href="%7B%7B%20route('admin.city.index')%20%7D%7D/%7B%7B%20%24li->id%20%7D%7D/edit"><i class="fa fa-fw fa-pencil" title="修改"></i></a> </td> </tr> @endforeach </code>
改怎么处理
<code>$city = $this->city->all() </code>
得到的数据 可以输出 上级城市的名称呢?现在只能输出上级的id;
如何有简单的 优雅的 输出 上级城市名称呢;
另外 如果是 无限极分类 改怎么写循环呢
另外 如果是 无限极分类 改怎么写循环呢
另外 如果是 无限极分类 改怎么写循环呢
重点说三遍 !O(∩_∩)O哈哈~ ;
有大神指导一下可以吗
自己映射自己
http://laravel.com/docs/4.2/eloquent#relationships
<code>class City extends Eloquent { public function parentCity() { return $this->belongsTo('City', 'pid', 'id'); } public function childrenCities() { return $this->hasMany('City', 'pid', 'id'); } } </code>
楼主,你这个用关系 怎么实现把 pid 转换成 pid 对应的 name 的呢 ,不适用 循环查询数据
除了楼上那些,我建议看看使用ztree 或其他类似JS tree组件来搞,个人觉得直观方便。