Как ОБНОВИТЬ несколько значений одного и того же внешнего ключа, который является типом файла в laravel - PullRequest
2 голосов
/ 02 октября 2019

У меня есть связь между проектом и таблицей файлов, как показано ниже:

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

Я хочу обновить в таблице файлов, где внешний идентификатор проекта такой же, и я могу обновить одну или несколько строк вместе. Но только первый файл обновляется, когда используется 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 (): сбой статистики для C: \ xampp \ tmp \ php28ED.tmp

1 Ответ

0 голосов
/ 02 октября 2019

Откройте файл 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
...