Stack Overflow en español Asked on December 5, 2021
Quisiera hacer una relación de tres tablas usando una tabla pivote entre ellas…
Tabla 1 (tbl_lista_contactabilidad)
-id
-usuarios_id
(“usuarios_id” debería estar relacionada con asesor_id en la Tabla 2)
Tabla 2 (tbl_equipo_postventaatc) “Pivot Table”
-id
-asesor_id
(“asesor_id” debería ser el “pivote” entre usuarios_id y id de la tabla users para hacer la relación con la tabla 1 y tabla 2)
Tabla 3 (users)
-id
-name
Quiero hacer esta relación, he tratado de esta manera pero no lo he conseguido… (Pondré solo las relaciones de cada modelo)
Tbl_Lista_Contactabilidad (Model 1)
public function postventaatc(){
return $this->belongsTo('AppModelsTbl_EquipoPostventaatc','usuarios_id');
}
Tbl_Equipo_Postventaatc (Model 2) -> Este debería ser el pivote modelo
public function contactabilidad(){
return $this->hasMany('AppModelsTbl_Lista_Contactabilidad','usuarios_id');
}
public function user(){
return $this->belongsTo('AppModelsUser','asesor_id');
}
User (Model 3)
public function postventaatc(){
return $this->hasMany('AppModelsTbl_Lista_Postventaatc','asesor_id');
}
Procede de está forma:
belongsToMany
users
y (tbl_lista_contactabilidad)
establece la relación, indicando como argumento el nombre del modelo al que apunta la relaciónCódigo
protected $table = 'tuTabla';
EDICIÓN
users
debe tener una relación del siguiente modo:Código
class User extends Model
{
public function contactabilidades()
{
return $this->belongsToMany(Contactabilidad::class, 'tbl_equipo_postventaatc', 'asesor_id');
}
}
Contactabilidad
deberá tener una estructura como la siguiente:Código:
class Contactabilidad extends Model
{
protected $table = 'tbl_lista_contactabilidad';
public function users()
{
return $this->belongsToMany(User::class, 'tbl_equipo_postventaatc', 'asesor_id');
}
}
Answered by BetaM on December 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP