【发布时间】:2020-06-23 11:16:31
【问题描述】:
我正在尝试在 laravel 中关联三个模型
这是我的第一个模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Tbl_Lista_Contactabilidad extends Model
{
protected $table = "tbl_lista_contactabilidad";
protected $fillable = [
'id', 'postventaatc_id', 'rif', 'razon_social', 'estatus', 'fecha_contacto', 'persona_contacto', 'correo_contacto', 'celular_contacto', 'numero_contacto', 'comentarios', 'contactado', 'auditado'
];
protected $guarded = ['id'];
public function postventaatc(){
return $this->belongsTo('App\Models\Tbl_Equipo_Postventaatc','postventaatc_id');
}
}
这是第二个模型...我正在尝试将此模型用作其他两个模型之间的桥梁
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Tbl_Equipo_Postventaatc extends Model
{
protected $table = "tbl_equipo_postventaatcs";
protected $fillable = [
'asesor_id', 'carteras_id', 'supervisor_id', 'skillcontacs_id', 'workgroupcontacs_id', 'estatus'
];
protected $guarded = ['id'];
public function users(){
return $this->belongsTo('App\User','asesor_id');
}
public function contactabilidad(){
return $this->hasMany('App\Models\Tbl_Lista_Contactabilidad','postventaatc_id');
}
}
这是我的第三个模型...我想加入第一个模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = "users";
protected $fillable = [
'idop', 'name', 'apellido', 'cedula',
'fecha_nacimiento', 'fecha_ingreso', 'extension',
'movil', 'tel_hab', 'email', 'password', 'generos_id',
'empresas_id', 'gerencias_id', 'cargos_id',
'direccion_personales_id', 'nivelacademicos_id',
'personal_guardia', 'estatus',
];
protected $guarded = ['id'];
public function postventaatc(){
return $this->hasMany('App\Models\Tbl_Equipo_Postventaatc','asesor_id');
}
}
我正在尝试为这个函数关联这三个模型
public function map($contactabilidad): array
{
return [
$contactabilidad->postventaatc_id,
$contactabilidad->postventaatc->name,
$contactabilidad->rif,
$contactabilidad->razon_social,
$contactabilidad->fecha_contacto,
$contactabilidad->persona_contacto,
$contactabilidad->correo_contacto,
$contactabilidad->numero_contacto,
$contactabilidad->celular_contacto,
$contactabilidad->comentarios,
$contactabilidad->contactado,
$contactabilidad->respuesta->respuesta
];
}
但是我得到了这个错误“ErrorException 试图获取非对象的属性“名称””
我该怎么办?
【问题讨论】:
标签: laravel laravel-5 eloquent laravel-6 laravel-query-builder