【发布时间】:2013-09-13 02:12:25
【问题描述】:
我正在使用 Laravel 构建一个新的 Web 项目。我正在使用 Eloquent(它的 ORM)来完成所有与数据库相关的工作。我有一个带有两个表的 SQLite 数据库:“图像”和“文件”。因此,我有两个模型:“Image.php”(Image 类扩展 Eloquent)和“File.php”(File 类扩展 Eloquent)。
根据文档,我做得对。我尝试使用 Image 模型并且效果很好。该模型的典型使用示例:
$image = new Image;
$image->val1 = $val1;
$image->val2 = $val2;
$image->save();
但是,出于某种我不知道的原因,文件模型没有按预期工作。我检查了所有内容:表名、类名、文件名、表……对我来说似乎没问题。我尝试做的基本相同:
$file = new File;
$file->val1 = $val1;
$file->val2 = $val2;
$file->save();
当尝试运行它时,我得到:
调用未定义的方法 Illuminate\Support\Facades\File::save()
如果我在保存之前执行 var_dump(),似乎正在加载模型:
object(Illuminate\Support\Facades\File)#133 (4) {
["val1"]=> string(8) "abcdef"
["val2"]=> string(10) "ghijkl"
}
我在这里错过了什么?
【问题讨论】:
-
确保类 File 不存在于其他地方。
-
您是否添加了
File的扩展定义? -
当迁移文件类被命名为与模型类相同时,我已经看到了这一点。
标签: php database model laravel eloquent