Model.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /*
  3. * This file is part of the Jiannei/lumen-api-starter.
  4. *
  5. * (c) Jiannei <longjian.huang@foxmail.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace App\Repositories\Models;
  11. use App\Repositories\Enums\ModelStatusEnum;
  12. use App\Support\Traits\SerializeDate;
  13. use Illuminate\Database\Eloquent\Builder;
  14. use Illuminate\Database\Eloquent\Model as EloquentModel;
  15. use Illuminate\Support\Facades\App;
  16. use Jenssegers\Mongodb\Eloquent\SoftDeletes;
  17. abstract class Model extends EloquentModel
  18. {
  19. use SerializeDate;
  20. use SoftDeletes;
  21. protected $hidden = ['deleted_at'];
  22. protected static function language()
  23. {
  24. // $language = request()->header('language', App::getLocale());
  25. // $language = 'zh_CN';
  26. // switch ($language) {
  27. // case 'zh_CN':
  28. // default:
  29. // $language = 'zh_CN';
  30. // break;
  31. // case 'en':
  32. // $language = 'en';
  33. // break;
  34. // }
  35. // static::addGlobalScope('language', function (Builder $builder) use ($language) {
  36. // $builder->where('language', $language);
  37. // });
  38. //
  39. // static::creating(function ($model) use ($language) {
  40. // if (!(in_array('language', array_keys($model->attributes)) && !empty($model->attributes['language']))) {
  41. // $model->language = $language;
  42. // }
  43. // });
  44. }
  45. public function scopeStatus($query)
  46. {
  47. return $query->where('status', ModelStatusEnum::OK);
  48. }
  49. }