You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.1 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\Models;
							 | 
						|
								
							 | 
						|
								use Dcat\Admin\Traits\HasDateTimeFormatter;
							 | 
						|
								use Illuminate\Database\Eloquent\Factories\HasFactory;
							 | 
						|
								use Illuminate\Database\Eloquent\SoftDeletes;
							 | 
						|
								use Illuminate\Database\Eloquent\Model;
							 | 
						|
								
							 | 
						|
								class DemandProduct extends Model
							 | 
						|
								{
							 | 
						|
									use HasDateTimeFormatter;
							 | 
						|
								    use SoftDeletes;
							 | 
						|
								
							 | 
						|
								    protected $table = 'demand_products';
							 | 
						|
									use HasFactory, SoftDeletes;
							 | 
						|
								
							 | 
						|
									protected $guarded = ['id']; //不允许编辑的字段
							 | 
						|
								
							 | 
						|
									// 获取所有产品图片
							 | 
						|
									public function getPicturesAttribute($value): array
							 | 
						|
									{
							 | 
						|
										if (is_string($value)) {
							 | 
						|
											$value = $value ? json_decode($value, true) : [];
							 | 
						|
										}
							 | 
						|
										$this->append('picture');
							 | 
						|
										return $value ?? [];
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									// 获取第一张产品图片
							 | 
						|
									public function getPictureAttribute($value): string
							 | 
						|
									{
							 | 
						|
										return $this->pictures[0] ?? '';
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									public function setPicturesAttribute($value)
							 | 
						|
									{
							 | 
						|
										if (is_array($value)) {
							 | 
						|
											$this->attributes['pictures'] = json_encode(array_filter($value));
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									public function supplier()
							 | 
						|
									{
							 | 
						|
										return $this->belongsTo(Supplier::class)->withTrashed();
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									public function category()
							 | 
						|
									{
							 | 
						|
										return $this->belongsTo(Category::class);
							 | 
						|
									}
							 | 
						|
								}
							 |