我尝试使用Eloquent从名为completion_date的表中检索数据。我的模型名称是完成,根据laravel文档,我应该声明一个(受保护的)表名,否则Eloquent将使用'完成'作为默认表名。所以我做了这个宣言。 我的控制器出现问题,因为我不知道在我制作视图时使用哪个名称来引用我的模型。我收到了 InvalidArgumentException 查看[completion.lsz]未找到。如果我只是使用我的模型名称来制作视图。
错误:
抛出InvalidArgumentException并显示消息"未找到查看[completion.lsz]。"
有人可以帮忙吗?
模型
<?php
//Model (file name: Completion)
class Completion extends Eloquent{
protected $table = 'completion_date';
public $timestamps = false;
}
控制器
class CompletionController extends BaseController {
public function index() {
$lsz = Completion::all();
return View::make('completion.lsz', ['completion' => $lsz]);
}
}
路线
Route::get('/Completion', 'CompletionController@index');
答案 0 :(得分:1)
错误消息显示未找到视图文件completion/lsz.blade.php
。
它与模型或数据库无关。
答案 1 :(得分:1)
在Laravel中查看名称就像路径一样。 .
转换为/
这意味着,您的视图会解析为文件app/views/completion/lsz.blade.php
(或app/views/completion/lsz.php
没有 Blade )
因此,您必须将views文件夹中目录的名称更改为“completion”或将view make命令更改为:
View::make('lsz.lsz', ['completion' => $lsz]);