Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在不同的模型上查找ID_Php_Laravel - Fatal编程技术网

Php 在不同的模型上查找ID

Php 在不同的模型上查找ID,php,laravel,Php,Laravel,正在尝试从不同型号中查找ID 我的原始表有一个任务列表。但是,任务详细信息是不同的,因此一旦添加,它将被添加到不同的模型/表中 下面的代码将尝试从不同的模型中查找任务id。因为我需要查看该任务的详细信息。 但希望有更干净的东西。有什么建议吗?谢谢大家! 这是我的密码 public function Task(Tasks $id) { $Model1 = Model1::where('tasks_id, $id)->pluck('id')->first(); $Model2 = Mo

正在尝试从不同型号中查找ID

我的原始表有一个任务列表。但是,任务详细信息是不同的,因此一旦添加,它将被添加到不同的模型/表中

下面的代码将尝试从不同的模型中查找任务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();
 }
}
上述内容可能有不必要的查询,可以进一步简化:

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;
        }
    }
}

对我有用。谢谢
public function Task(Tasks $id) {

    $models = ["Model1","Model2"];
    foreach ($models as $model){
        if (null != $this->Data = $model::where('tasks_id', $id)->get()){
           break;
        }
    }
}