如何更新 laravel 中文件类型的多个相同外键值
How to UPDATE multiple same foreign key's value which is file type in laravel
我在项目和文件 table 之间有如下关系:
class Project extends Model
{
public function files()
{
return $this->hasMany(File::class);
}
}
class File extends Model
{
public function project()
{
return $this->belongsTo(Project::class);
}
}
我想在文件 table 中更新,其中外部 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
我在项目和文件 table 之间有如下关系:
class Project extends Model
{
public function files()
{
return $this->hasMany(File::class);
}
}
class File extends Model
{
public function project()
{
return $this->belongsTo(Project::class);
}
}
我想在文件 table 中更新,其中外部 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