mirror of
https://github.com/bs-community/blessing-skin-server.git
synced 2024-12-21 06:19:38 +08:00
use Query Builder to get storage size used by user
This commit is contained in:
parent
118d8cc649
commit
3569c43fb2
@ -39,6 +39,13 @@ class User extends Model
|
||||
public $timestamps = false;
|
||||
protected $fillable = ['email', 'nickname', 'permission'];
|
||||
|
||||
/**
|
||||
* Storage size used by user in KiB.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $storageUsed;
|
||||
|
||||
/**
|
||||
* Check if user is admin.
|
||||
*
|
||||
@ -253,14 +260,18 @@ class User extends Model
|
||||
*/
|
||||
public function getStorageUsed()
|
||||
{
|
||||
if (is_null($this->storage_used)) {
|
||||
$this->storage_used = 0;
|
||||
// recalculate
|
||||
$sql = "SELECT SUM(`size`) AS total_size FROM `{table}` WHERE uploader = {$this->uid}";
|
||||
$result = \Database::table('textures')->fetchArray($sql)['total_size'];
|
||||
$this->storage_used = $result ?: 0;
|
||||
if (is_null($this->storageUsed)) {
|
||||
$this->storageUsed = 0;
|
||||
|
||||
$result = DB::table('textures')
|
||||
->select(DB::raw("SUM(size) AS total_size"))
|
||||
->where('uploader', $this->uid)
|
||||
->first()->total_size;
|
||||
|
||||
$this->storageUsed = $result ?: 0;
|
||||
}
|
||||
return $this->storage_used;
|
||||
|
||||
return $this->storageUsed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user