44 lines
		
	
	
		
			996 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			996 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace kernel\app_modules\photo\models;
 | 
						|
 | 
						|
use Illuminate\Database\Eloquent\Model;
 | 
						|
 | 
						|
/**
 | 
						|
 * @property int $id
 | 
						|
 * @property string $image
 | 
						|
 * @property string $entity
 | 
						|
 * @property int $entity_id
 | 
						|
 */
 | 
						|
class Photo extends Model
 | 
						|
{
 | 
						|
    protected $table = 'photo';
 | 
						|
 | 
						|
    protected $fillable = ['image', 'entity', 'entity_id'];
 | 
						|
 | 
						|
    public static function labels(): array
 | 
						|
    {
 | 
						|
        return [
 | 
						|
            'image' => 'Фото',
 | 
						|
            'entity' => 'Сущность',
 | 
						|
            'entity_id' => 'Идентификатор сущности',
 | 
						|
        ];
 | 
						|
    }
 | 
						|
 | 
						|
    public static function getPhotoListByEntity(string $entity): array
 | 
						|
    {
 | 
						|
        return self::where("entity", $entity)->get()->toArray();
 | 
						|
    }
 | 
						|
 | 
						|
    public static function getPhotoByEntity(string $entity): array
 | 
						|
    {
 | 
						|
        $result = [];
 | 
						|
        $photos = self::getPhotoListByEntity($entity);
 | 
						|
        foreach ($photos as $photo) {
 | 
						|
            $result[$photo['id']] = $photo['label'];
 | 
						|
        }
 | 
						|
 | 
						|
        return $result;
 | 
						|
    }
 | 
						|
 | 
						|
} |