Bob*_*Dem 6 php database model laravel eloquent
我正在使用Laravel构建一个新的Web项目.我正在使用Eloquent(它的ORM)来完成所有与数据库相关的东西.我有一个带有两个表的SQLite数据库:'images'和'files'.因此,我有两个模型:'Image.php'(类Image扩展Eloquent)和'File.php'(类File扩展Eloquent).
根据文档我做得对.我尝试使用Image模型并且工作完美.典型使用模型的示例:
$image = new Image;
$image->val1 = $val1;
$image->val2 = $val2;
$image->save();
Run Code Online (Sandbox Code Playgroud)
但是由于某些原因我不知道,File模型没有按预期工作.我检查了一切:表名,类名,文件名,表......对我来说似乎没问题.我试着做的基本相同:
$file = new File;
$file->val1 = $val1;
$file->val2 = $val2;
$file->save();
Run Code Online (Sandbox Code Playgroud)
在尝试运行时,我得到:
调用未定义的方法Illuminate\Support\Facades\File :: save()
如果我在保存之前执行var_dump(),似乎正在加载模型:
object(Illuminate\Support\Facades\File)#133 (4) {
["val1"]=> string(8) "abcdef"
["val2"]=> string(10) "ghijkl"
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
Gad*_*oma 12
在这种情况下,文件是保留字,因为它是以下Facade的别名(在/app/config/app.php中定义)
'File' => 'Illuminate\Support\Facades\File',
Run Code Online (Sandbox Code Playgroud)
将模型名称更改为其他名称,并且所有代码都可以正常工作.