Ich bin sehr verwirrt mit dieser Beziehung, ich versuchte Video-Tutorial, aber konnte nicht, wie diese Beziehung zu lösen. Danke im Voraus, wenn mir jemand erklären kann.Wie laravel zu lösen Beziehung
Ich versuchte in MySQL, das funktioniert gut, aber ich lerne Laravel und möchte so tun.
User
---------
id
email
name
address1
address2
country
Product
-------
id
internal_name
display_name
Licence
------
id
product_id
key
Linked_licence
--------
licence_id
user_id
Benutzer hat viele Lizenzen durch linked_licence
ich so bin mit aber immer Fehler:
public function licences()
{
return $this->hasManyThrough(Licence::class, UserLicence::class, 'licences.id', 'user_id', 'licence_id');
}
Benutzer hat viele Produkte durch Lizenz
public function licences()
{
return $this->hasManyThrough(Product::class, Licences::class, 'licences.id', 'user_id', 'licence_id');
}
Produkt zu lizenzieren gehört
public function licences()
{
return $this->belogsTo(Product::class);
}
Dies ist Fehler:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'licences_user.licences.id' in 'field list' (SQL: select `licences`.*, `licences_user`.`licences`.`id` from `licences` inner join `licences_user` on `licenscs_user`.`id` = `licences`.`user_id` where `licences_user`.`licences`.`id` is null)
Aber Problem ist, ich weiß nicht, über Laravel Beziehung, wie diese Art von Abfragen zu erstellen.
Aktualisiert:
SELECT
`users`.*,
`licences`.*,
`licenses_user`.`license_id`
FROM `licences`
INNER JOIN `licenses_user` ON `licenses_user`.`license_id` = `licences`.`id`
INNER JOIN users ON licenses_user.user_id = users.id
WHERE `licenses_user`.`license_id` = 1
Above Abfrage funktioniert, aber wie mit Laravel zu bedienen?
1. Sie haben einen Tippfehler in Ihrem letzten Code, 2. welche Fehler erhalten Sie? –
Jeder Beitrag aktualisiert – Earon
versuchen, licences.id nur ID zu ändern. –