php - 未定义的方法 File::save() (Laravel 模型)

标签 php database model laravel eloquent

我正在使用 Laravel 构建一个新的 Web 项目。我正在使用 Eloquent(它的 ORM)来做所有与数据库相关的事情。我有一个包含两个表的 SQLite 数据库:“图像”和"file"。因此,我有两个模型:“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();

当尝试运行它时,我得到:

Call to undefined method Illuminate\Support\Facades\File::save()

如果我在保存之前执行 var_dump(),似乎正在加载模型:

object(Illuminate\Support\Facades\File)#133 (4) {
    ["val1"]=> string(8) "abcdef" 
    ["val2"]=> string(10) "ghijkl" 
}

我在这里错过了什么?

最佳答案

File 在这种情况下是一个保留字,因为它是下面外观的别名(在/app/config/app.php 中定义)

'File' => 'Illuminate\Support\Facades\File',

将模型名称更改为其他名称,您的所有代码都应该可以正常工作。

关于php - 未定义的方法 File::save() (Laravel 模型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700772/

相关文章:

javascript - 从 php 到 javascript 的接管变量

c# - codefirst 数据库未创建

database - 我可以在我的 wordpress 站点中使用 Contact Form DB 插件来保存和显示数据而不发送电子邮件吗

php - 为什么我要把密码做成哈希码,然后保存在数据库中?

android - SharedPreferences 的最佳实践

PHPSpec:输出格式的配置

php - Laravel 如何将数据插入到彼此具有外键的两个表中

php - 为什么用 PHP 加密的东西与用 Ruby 加密的相同字符串不匹配?

php - Magento、getSubtotal 和 getGrandTotal 始终返回零

java - 好的做法 : API and MVC - where should I put method/function with SQL query for API