本文整理汇总了PHP中app\File::whereIn方法的典型用法代码示例。如果您正苦于以下问题:PHP File::whereIn方法的具体用法?PHP File::whereIn怎么用?PHP File::whereIn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\File
的用法示例。
在下文中一共展示了File::whereIn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: deleteFolders
/**
* Permanently delete given folders and associated files from db and disk.
*
* @param array|Collection $folders
* @return int
*/
public function deleteFolders($folders)
{
if (!count($folders)) {
return 0;
}
foreach ($folders as $folder) {
//if folder is array it's a model instance, otherwise we will need to fetch it from db
if (is_array($folder)) {
$folder = Folder::with('files', 'folders')->withTrashed()->findOrFail($folder['id']);
}
if ($folder->user_id === Auth::user()->id || Auth::user()->isAdmin) {
//delete all files
foreach ($folder->files as $file) {
Storage::deleteDirectory($file->getRelativePath(true));
}
//delete all file models from db
File::whereIn('id', $folder->files->lists('id'))->forceDelete();
//delete sub-folders and files recursively
if (!$folder->folders->isEmpty()) {
$this->deleteFolders($folder->folders);
}
//delete folder model from db
$folder->forceDelete();
}
}
return count($folders);
}