Link.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. /**
  6. * App\Models\Link
  7. *
  8. * @property int $id
  9. * @property int $is_display 是否显示(1:是,0:否)
  10. * @property int $type_id 链接分类
  11. * @property string $link_title 链接标题
  12. * @property string $link_url 链接地址
  13. * @property string $link_logo 链接的LOGO
  14. * @property string|null $note 备注
  15. * @property int $list_order 顺序
  16. * @property int $subsite_id 分站信息(0:总站)
  17. * @property \Illuminate\Support\Carbon|null $created_at
  18. * @property \Illuminate\Support\Carbon|null $updated_at
  19. * @property string|null $deleted_at
  20. * @property-read mixed $logo_url
  21. * @property-read mixed $up_file
  22. * @property-read \App\Models\LinkCategory $show_category
  23. * @method static bool|null forceDelete()
  24. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link newModelQuery()
  25. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link newQuery()
  26. * @method static \Illuminate\Database\Query\Builder|\App\Models\Link onlyTrashed()
  27. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link query()
  28. * @method static bool|null restore()
  29. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereCreatedAt($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereDeletedAt($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereId($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereIsDisplay($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereLinkLogo($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereLinkTitle($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereLinkUrl($value)
  36. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereListOrder($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereNote($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereSubsiteId($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereTypeId($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Link whereUpdatedAt($value)
  41. * @method static \Illuminate\Database\Query\Builder|\App\Models\Link withTrashed()
  42. * @method static \Illuminate\Database\Query\Builder|\App\Models\Link withoutTrashed()
  43. * @mixin \Eloquent
  44. */
  45. class Link extends Model
  46. {
  47. use SoftDeletes;
  48. protected $table = 'links';
  49. protected $appends = array('up_file','logo_url');
  50. public function getUpFileAttribute()
  51. {
  52. $up_file = '';
  53. if (preg_match('/^http/', $this->attributes['link_logo'])) {
  54. $up_file = null;
  55. } else {
  56. $up_file = $this->attributes['link_logo'];
  57. }
  58. return $up_file;
  59. }
  60. public function getLogoUrlAttribute()
  61. {
  62. $url = null;
  63. if (preg_match('/^http/', $this->attributes['link_logo'])) {
  64. $url = $this->attributes['link_logo'];
  65. }
  66. return $url;
  67. }
  68. public function show_category()
  69. {
  70. return $this->belongsTo(LinkCategory::class, 'type_id');
  71. }
  72. public function subsites()
  73. {
  74. return $this->hasMany(SubsiteLink::class, 'link_id');
  75. }
  76. }