如何从Laravel多态关系中获取数据?

时间:2019-01-11 07:56:28

标签: laravel-5.4

以下是我的代码 我建立了多态关系的模型

 Relation::morphMap([
     'Company' => 'App\Company',
     'Talent'  => 'App\CompanyContact'
    ]);
  class ImportLog extends Model
  {

   public function resource(){

    return $this->morphTo();
}
}

关系映射

class CompanyContact extends Model
{
     public function importLog(){

    return $this->morphMany(ImportLog::class,'resource');
 }
}

class Company extends Model
{
public function importLog(){

    return $this->morphMany(ImportLog::class,'resource');
}

}

这是对ImporLog的查询

$importedLog = ImportLog::where('import_id', '=',$importId)
            ->where('status','=','success')->get();

当我foreach并且想要获取如下数据时

foreach($importLog->importLog as log){
  echo $log->name;
} 

这给我提供给foreach的无效参数的错误

当我想检索如下关系模型

foreach($importLog->importLog as log){
echo $log->resource;
}

这给我方法firstItem的错误不存在

我如何获取此关系数据?

0 个答案:

没有答案