1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace App\Models;
- use App\Casts\HttpToHttps;
- use Dcat\Admin\Traits\HasDateTimeFormatter;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- use Illuminate\Database\Eloquent\SoftDeletes;
- use Illuminate\Database\Eloquent\Model;
- /**
- * App\Models\ProductCategory
- *
- * @property int $id
- * @property string $name 名称
- * @property int $level 分类级别
- * @property int|null $pid 父id
- * @property int $sort 排序越大越靠前
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property \Illuminate\Support\Carbon|null $deleted_at
- * @property \Illuminate\Support\Carbon|null $created_at
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory newQuery()
- * @method static \Illuminate\Database\Query\Builder|ProductCategory onlyTrashed()
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory query()
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereDeletedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereLevel($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory wherePid($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereSort($value)
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|ProductCategory withTrashed()
- * @method static \Illuminate\Database\Query\Builder|ProductCategory withoutTrashed()
- * @mixin \Eloquent
- * @property-read ProductCategory|null $parent
- * @property int $is_opened 是否启用
- * @method static \Illuminate\Database\Eloquent\Builder|ProductCategory whereIsOpened($value)
- * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Product[] $products
- * @property-read int|null $products_count
- */
- class ProductCategory extends Model
- {
- use HasDateTimeFormatter;
- use SoftDeletes;
- protected $table = 'product_categories';
- protected $casts = [
- 'cover_img' => HttpToHttps::class
- ];
- public function parent(): BelongsTo
- {
- return $this->belongsTo(ProductCategory::class,'pid','id');
- }
- public function products(): HasMany
- {
- return $this->hasMany(Product::class,'cate_id','id');
- }
- }
|