php - Laravel 模型复数表名不起作用
问题描述
PHP版本:5.6.33
Laravel 版本:5.2.45
我正在关注 Laravel 网站https://laravel.com/docs/5.2/quickstart上的“快速入门”教程。
我在“创建任务”部分https://laravel.com/docs/5.2/quickstart#creating-the-task
我的代码看起来就像网站上的代码:
// add new task
Route::post('/task', function(Request $request) {
$validator = Validator::make($request->all(), [
'name' => 'required|max:255',
]);
if ($validator->fails()) {
return redirect('/')
->withInput()
->withErrors($validator);
}
$task = new Task;
$task->name = $request->name;
$task->save();
return redirect('/');
});
模型看起来就像完成的版本一样https://github.com/laravel/quickstart-basic/blob/master/app/Task.php:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
//
}
因此,当我尝试添加任务时,出现以下错误:
FatalErrorException in Inflector.php line 265:
syntax error, unexpected ':', expecting ';' or '{'
当我将模型更新为以下内容时,它可以工作:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
protected $table = 'tasks';
//
}
但根据文件,我不应该这样做。
Eloquent 将假定 Flight 模型将记录存储在航班表中。
https://laravel.com/docs/5.6/eloquent#eloquent-model-conventions
为什么我必须在模型中专门命名表才能使其工作?
解决方案
推荐阅读
- python - 如何在不使用 for 循环的情况下对这两个 numpy 操作进行矢量化?
- macos - 如何将函数名称转换为地址并在 LLDB 中添加偏移量?
- python-3.x - ValueError:传递的 save_path 不是有效的检查点:C:\Users\User\model.tflearn
- python - 与 BeautifulSoup.find 混淆?
- python - 如何在 Tensorflow 2.0 中制作参差不齐的批次?
- ruby - Ruby 在这里用 gsub 做什么?
- matlab - 降低目标对比度而不丢失图像细节
- r - ggradar:在中同时使用 group 加 facet_wrap
- python - Pandas Dataframe 上的部分字符串合并
- javascript - 为什么我可以通过显式接受它作为参数来访问回调函数内部的事件对象?