Class Laravel使用变量作为其名称调用模型类

Class Laravel使用变量作为其名称调用模型类,class,eloquent,laravel-5.4,Class,Eloquent,Laravel 5.4,我刚刚开始使用Laravel队列,不知道这是否可以在Laravel中完成 而不是这样做的工作 $test1 = Test1::where('fieldname', $value)->exists(); $test2 = Test2::where('fieldname', $value)->exists(); $test3 = Test3::where('fieldname', $value)->exists(); $test4 = Test4::where('fieldname

我刚刚开始使用Laravel队列,不知道这是否可以在Laravel中完成

而不是这样做的工作

$test1 = Test1::where('fieldname', $value)->exists();
$test2 = Test2::where('fieldname', $value)->exists();
$test3 = Test3::where('fieldname', $value)->exists();
$test4 = Test4::where('fieldname', $value)->exists();
我想创建一个模型类和字段名数组,然后在数组上循环

$classes = [
    'Test1' => 'fieldname',
    'Test2' => 'fieldname',
    'Test3' => 'fieldname',
    'Test4' => 'fieldname',
];

foreach($classes as $class => $field) {
    $class::where($field, $groupid)->exists();
}
但是当我运行我的作业时,我收到以下消息,它就死了

找不到类“Test1”

我想在循环中做一些其他的事情,这样可以大大减少代码量,并且看起来更可读

你不能像我尝试的那样使用变量调用一个类吗

这是我的密码

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use \App\Models\Test;

class ImportProductGroupCrm implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $product;
    public $tries = 1;

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {

        $classes = [
            'Test' => 'field-Name',
        ];

        foreach($classes as $class => $field) {
            $class::where($field, $groupid)->exists();
        }
    }
}

您必须指定整个类名或使用
::class

$classes=[
'App\Test1'=>'fieldname',
Test1::class=>“fieldname”,
];