mysql - 如何更新多个相同的外键值,它是 laravel 中的文件类型

标签 mysql laravel eloquent foreign-keys relation

我在项目和文件表之间有如下关系:

class Project extends Model
{
    public function files()
    {
        return $this->hasMany(File::class);
    }
}
class File extends Model
{   
    public function project()
    {
        return $this->belongsTo(Project::class);
    }
}

我想在文件表中更新,其中外部 project_id 相同并且可以一起更新单行或多行。 但是只有在使用 first() 时才更新第一个文件,如下代码:

$files = $request->filenames;

if($files) {
    foreach ($files as $u_file) {
        $name=$u_file->getClientOriginalName();
        $u_file->move(public_path().'/images/', $name);
        $project_file =File::where('project_id', $id)->first();

        $project_file->filename = $name;
        $project->files()->save($project_file);
    }
}

通过使用 get() 而不是 first() 得到如下错误:

SplFileInfo::getSize(): stat failed for C:\xampp\tmp\php28ED.tmp

最佳答案

打开您的 php.ini 文件并更新 upload_max_size。确保 upload_max_filesize 大于文件大小(上传的文件)。

当大小改变时应遵循以下条件:

- post_max_size must be larger than upload_max_filesize
- memory_limit should be larger than post_max_size

关于mysql - 如何更新多个相同的外键值,它是 laravel 中的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199489/

相关文章:

MySQL根据特定字段值和行数选择多行

php - 将数据库调用添加到 OO PHP 的最佳方法

php - 如何在 Laravel Eloquent 中插入具有多个 belongsTo 关系的记录

php - 如何使用 Laravel 发出异步请求?

mysql - Laravel 4 远方 Eloquent 关系

laravel-4 - Laravel 4.2 Eloquent 使用带有连接查询的列表()

mysql - SQL在预订系统中查找连续两天

mysql - 查询以获取计数字段值

php - Laravel 排队作业,在执行时间之前执行它

php - 在路径中找不到 Laravel 文件,但它确实存在