У меня есть полиморфная модель Discussion
и другие модели, discussable
.
Я настроил свою карту морфинга для перевода project
в App\Models\Company\Project
, что discussable
.
Я хотел бы написать:
function get_all_discussions($type, $id)
{
return Discussion::orderBy('created_at', 'desc')
->where('discussable_type', $type)
->where('discussable_id', $id)
->get();
}
get_all_discussion('project', 1232);
К сожалению ->where('discussable_type', $type)
не работает с картой морфа.
Мое текущее решение - использовать этот ключ:
function getMorphType($typeOrClass)
{
$morphMap = array_flip(\Illuminate\Database\Eloquent\Relations\Relation::morphMap());
return array_get($morphMap, $typeOrClass, $typeOrClass);
}