我已经对此进行了一些良好的基础检查 找不到可行的解决方案。因此情况是。我有一个表(用户)和一个表(文件)和另一个数据透视表(file_user)。在用户表中,我有一个具有唯一ID的管理员。该管理员可以与该表中的其他成员共享他的文件。我想将各个文件保存到与他共享的各个人中。 问题是在file_user表中仅保存了admin的ID,另一个为空。有人可以给我一些提示吗
到目前为止,我已经有了此代码
public function create( )
{
if (Auth::user()->isAdmin()){
$view = view('backend.auth.file.create');
$view->doctypes = Doctype::all()->pluck('name','id')
$view->users = User::all()->pluck('first_name','id')
$view->folders = Folder::pluck('name', 'id');
return $view;
} else {
$view = view('backend.auth.file.create');
$view->doctypes = Doctype::where('org_id', Auth::id())->pluck('name','id');
$view->users = User::where('org_id', Auth::id())->pluck('first_name','id');
$view->folders = Folder::pluck('name', 'id')
return $view;
}
}
这是FileController.php中文件的保存功能
public function store(StoreFileRequest $request)
{
$dataToBeSaved = $request->all();
$dataToBeSaved['description'] = strip_unsafe_tags($dataToBeSaved['description']);
$file = $request->file('path');
$destinationPath = 'uploads/files';
$dataToBeSaved['path'] = $request->file('path')->store($destinationPath, 'public');
$file = File::create($dataToBeSaved);
$users = array_where($request->get('users'), function ($value) {
return ($value);
});
$file->users()->sync($users);
return redirect()->route('admin.auth.file.index');
}
这是File.php模型
protected $table = 'files';
protected $fillable = ['name','description','path','org_id',];
public function users()
{
return $this->belongsToMany(User::class, 'file_user', 'file_id', 'user_id');
}
这是User.php模型
/**
* @return mixed
*/
public function files(){
return $this->belongsToMany(File::class, 'file_id');
}