当我尝试访问我的tipos / index页面时出错,我使用带有jeffrey way生成器的laravel 4框架来加速路由,控制器,模型等的创建过程。
这是我的代码:
路线:
Route::get('tipos/index',
array(
'as' => 'index',
'uses' => 'TiposController@index')
);
型号:
class Tipo extends Eloquent{
protected $guarded = array();
public static $rules = array(
'clave_tipo' => 'required',
'nombre_tipo' => 'required',
'status' => 'required',
'created_by' => 'required',
);
}
控制器:
class TiposController extends BaseController {
protected $tipo;
public function index()
{
$tipos = $this->tipo->all();
return View::make('tipos.index', compact('tipos'));
}
我的master.blade中的特定路线:
{{ link_to('tipos/index', trans('common/messages.tipos'))}} |
index.blade:
@extends('layouts.master')
@section('content')
<h1>
Tipos
</h1>
<form name="form" id="form" method="post">
<a class="editar button clear" href="/sistema/crearTipo">Nuevo Tipo</a>
<input type="button" onclick="javascript:exportar();" value="Exportar" class="button" style="margin: 0px;">
<input type="hidden" name="format" id="format" value="yy-mm-dd">
<input type="hidden" name="excel" id="excel" value="false">
<br><br>
<iframe name="x" height="0" width="0" style="display: none;"></iframe>
<div class="title">
<form name="form" id="form" method="post">
<iframe name="x" height="0" width="0" style="display: none;"></iframe>
<table class="datatable" id="tipos">
<thead>
<th>CÓDIGO</th>
<th>DESCRIPCIÓN</th>
<th>EDITAR</th>
<th>ELIMINAR</th>
</thead>
</table>
<div class="foot">
</div>
</form>
</div>
@stop
出现此错误:Illuminate \ Database \ Eloquent \ ModelNotFoundException 没有模型[Tipo]的查询结果。
如果有人可以提供帮助,我将不胜感激!
答案 0 :(得分:1)
解决了,我有两条自述路线:
Route::resource('tipos', 'TiposController');
和
Route::get('tipos/index',
array(
'as' => 'index',
'uses' => 'TiposController@index')
);
只需删除重复的路线tipos / index并输入mi master.blade:
{{ link_to**_route**('tipos.index', trans({{'common/messages.tipos'))}} |
冲突是因为我需要mi master中的 _route 。
谢谢!
答案 1 :(得分:0)
您需要将Tipo模型注入控制器。
class TiposController extends BaseController {
protected $tipo;
function __construct(Tipo $tipo){
$this->tipo = $tipo;
}
}
不确定为什么会得到ModelNotFoundException,因为您从未在控制器中注入Model。您的tipos
表中是否有记录?
答案 2 :(得分:0)
我有同样的问题。我在单个单列表后放置索引路径。然后我只是将索引任务放在单个列表之前。然后它的作品。
Route::get('index', 'TasksController@index');
Route::get('/{task}', 'TasksController@single');
它有线但有效!