fix shipping

This commit is contained in:
Ludovic CANDELLIER
2023-07-16 17:54:44 +02:00
parent c619f540f8
commit ddb4520621
36 changed files with 640 additions and 897 deletions

View File

@@ -3,6 +3,8 @@
namespace App\Traits\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
trait Basic
{
@@ -24,14 +26,38 @@ trait Basic
return $data;
}
public static function getName($id)
public static function getName($id, $len = false)
{
return self::getField($id, 'name');
$name = self::getField($id, 'name');
return $len ? Str::limit($name, $len) : $name;
}
public static function getByUUID($uuid)
public static function getUUID($id)
{
return self::getByField('uuid', $uuid)->first();
return self::getField($id, 'uuid');
}
public static function getByUUID($uuid, $relations = [])
{
return self::getByField('uuid', $uuid, $relations)->first();
}
public static function getIdByUUID($uuid)
{
$model = self::getByUUID($uuid);
return $model ? $model->id : false;
}
public static function generateToken()
{
return Hash::make(self::generateUUID());
}
public static function generateUUID()
{
return Str::uuid()->toString();
}
public static function getFields($field)
@@ -39,9 +65,9 @@ trait Basic
return self::getAll()->pluck($field);
}
public static function getByField($field, $value)
public static function getByField($field, $value, $relations = [])
{
return self::getModel()->where($field, $value);
return self::getModel()->with($relations)->where($field, $value)->get();
}
public static function getField($id, $field)
@@ -58,7 +84,7 @@ trait Basic
public static function store($data)
{
return ($data['id'] ?? false) ? self::update($data) : self::create($data);
return $data['id'] ?? false ? self::update($data) : self::create($data);
}
public static function create($data)
@@ -87,25 +113,32 @@ trait Basic
return self::getModel()->count();
}
public static function firstOrCreate($search, $data)
public static function firstOrCreate($search, $data = false)
{
return self::getModel()::firstOrCreate($search, $data);
return self::getModel()->firstOrCreate($search, $data ? $data : $search);
}
public static function get($id, $relations = false, $relations_count = false)
public static function deleteByField($field, $value)
{
return self::getModelRelations($relations, $relations_count)->find($id);
$model = self::getModel()->where($field, $value);
return $model ? $model->delete() : false;
}
public static function getAll($relations = false, $relations_count = false)
public static function get($id, $relations = false, $relationscount = false)
{
return self::getModelRelations($relations, $relations_count)->get();
return self::getModelRelations($relations, $relationscount)->find($id);
}
public static function getModelRelations($relations = false, $relations_count = false)
public static function getAll($relations = false, $relationscount = false)
{
return self::getModelRelations($relations, $relationscount)->get();
}
public static function getModelRelations($relations = false, $relationscount = false)
{
$model = $relations ? self::getModelWithRelations($relations) : false;
$model = $relations_count ? self::getModelWithCountRelations($relations_count, $model) : $model;
$model = $relationscount ? self::getModelWithCountRelations($relationscount, $model) : $model;
return $model ? $model : self::getModel();
}