Пытаюсь найти ID у разных моделей.
В моей исходной таблице есть список задач. Однако детали задачи различаются, поэтому после добавления она будет добавлена в разные модели / таблицы.
Код ниже попытается найти task_id из разных моделей. Поскольку мне нужно просмотреть детали этой задачи. Но надеялся на что-нибудь почище. Какие-либо предложения? Спасибо!
Вот мой код
public function Task(Tasks $id) {
$Model1 = Model1::where('tasks_id, $id)->pluck('id')->first();
$Model2 = Model2::where('tasks_id, $id)->pluck('id')->first();
if ($Model1 != null) {
$this->Data = Model1:find($Model1)->get();
}
else if ($Model2 != null) {
$this->Data = Model2:find($Model2)->get();
}
}
0
PendejoTrax
28 Фев 2021 в 04:47
1 ответ
Лучший ответ
public function Task(Tasks $id) {
$models = ["Model1","Model2"];
foreach ($models as $model){
if($modelID = $model::where('tasks_id', $id)->pluck('id')->first()){
$this->Data = $model::find($modelID)->get();
break;
}
}
}
Вышеупомянутое может содержать ненужный запрос и может быть дополнительно упрощено:
public function Task(Tasks $id) {
$models = ["Model1","Model2"];
foreach ($models as $model){
$this->Data = $model::where('tasks_id', $id)->get();
if ($this->Data != null){
break;
}
}
}
Еще одна оптимизация:
public function Task(Tasks $id) {
$models = ["Model1","Model2"];
foreach ($models as $model){
if (null != $this->Data = $model::where('tasks_id', $id)->get()){
break;
}
}
}
1
Joe Ward
28 Фев 2021 в 02:26
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.