Model.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 = 'zh_CN';
  25. // $language = 'en';
  26. switch (App::getLocale()) {
  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. static::creating(function ($model) use ($language) {
  39. $model->language = $language;
  40. });
  41. }
  42. public function scopeStatus($query)
  43. {
  44. return $query->where('status', ModelStatusEnum::OK);
  45. }
  46. }