PHP code example of it-devgroup / laravel-entity-file-table
1. Go to this page and download the library: Download it-devgroup/laravel-entity-file-table library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
it-devgroup / laravel-entity-file-table example snippets
namespace App;
class CustomFile extends \ItDevgroup\LaravelEntityFileTable\Model\FileModel
{
}
namespace App;
class CustomFile extends \ItDevgroup\LaravelEntityFileTable\Model\FileModel
{
protected $table = 'YOUR_TABLE_NAME';
// other code
}
return [
'delete' => 'File deletion error :path on disk :fileDriver',
'delete_message' => 'File delete/replace error',
];
// $file - \ItDevgroup\LaravelEntityFileTable\Model\FileModel
// generate url from file
return \ItDevgroup\LaravelEntityFileTable\Helpers\FileHelper::urlFile($file);
// generate url from data
return \ItDevgroup\LaravelEntityFileTable\Helpers\FileHelper::url('file.jpg', 'public');
/**
* @return Illuminate\Database\Eloquent\Relations\MorphOne
*/
public function image()
{
return $this->morphOne(\ItDevgroup\LaravelEntityFileTable\Model\FileModel::class, 'model', 'model_type', 'model_id');
}
/**
* @return Illuminate\Database\Eloquent\Relations\MorphMany
*/
public function images()
{
return $this->morphMany(\ItDevgroup\LaravelEntityFileTable\Model\FileModel::class, 'model', 'model_type', 'model_id');
}
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\Relations\MorphOne;
class User extends Model
{
...
/**
* @return MorphOne
*/
public function image()
{
return $this->morphOne(\ItDevgroup\LaravelEntityFileTable\Model\FileModel::class, 'model', 'model_type', 'model_id');
}
/**
* @return MorphMany
*/
public function images()
{
return $this->morphMany(\ItDevgroup\LaravelEntityFileTable\Model\FileModel::class, 'model', 'model_type', 'model_id');
}
}
// $path - url for file
$file = $service->getFileExternal($path);
// save file on filesystem and database
// $file - return \ItDevgroup\LaravelEntityFileTable\Model\FileModel
$service->save($file);
$service->save($file, true);
// save file only on filesystem
$service->save($file, false);
// save file only in database
$service->saveDB($file);
$file = $service->getFileById(1);
// delete from filesystem and database
// $file - \ItDevgroup\LaravelEntityFileTable\Model\FileModel
$service->delete($file);
$service->delete($file, true);
// delete only from filesystem
$service->delete($file, false);
// delete only in database
$service->deleteDB($file);
// $file1, $file2, ... - \ItDevgroup\LaravelEntityFileTable\Model\FileModel
// $files - Collection
$files = collect([$file1, $file2, ...]);
$service->deleteAll($files);
// or
// $user - model user
$service->deleteAll($user->photos);