У меня есть таблица изображений следующим образом:
Schema::create('images', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('path');
$table->unsignedBigInteger('imageable_id')->nullable();
$table->string('imageable_type')->nullable();
$table->unsignedBigInteger('image_properties_id')->nullable();
$table->unsignedBigInteger('parent_id')->nullable();
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
});
Я хочу иметь отношение polymorphi c к таблице изображений, и она прекрасно работает для большинства частей, однако проблема в том, что некоторые модели, такие как Post может иметь изображения для разных целей, например, сообщение может иметь изображение для обложки сообщения, а также изображения, используемые в содержимом сообщения. Можно ли получить доступ только к изображениям, принадлежащим обложке сообщения, а не к содержимому?
Я знаю, что могу определить пользовательский тип с помощью morphmap, но можно ли определить два разных типа, которые указывают на одну и ту же модель, и использовать их типа для фильтрации результатов?