0
我很困惑這種關係,我試過視頻教程,但無法得到如何解決這種關係。在此先感謝如果有人能解釋我。如何解決laravel關係
我試過在mysql中工作正常,但我正在學習laravel並希望這樣做。
User
---------
id
email
name
address1
address2
country
Product
-------
id
internal_name
display_name
Licence
------
id
product_id
key
Linked_licence
--------
licence_id
user_id
用戶具有
我使用這樣的,但得到的錯誤通過linked_licence多牌:
public function licences()
{
return $this->hasManyThrough(Licence::class, UserLicence::class, 'licences.id', 'user_id', 'licence_id');
}
用戶通過許可證有很多產品
public function licences()
{
return $this->hasManyThrough(Product::class, Licences::class, 'licences.id', 'user_id', 'licence_id');
}
產品屬於許可
public function licences()
{
return $this->belogsTo(Product::class);
}
這是錯誤:
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)
但問題是我不知道laravel關係如何創建這些類型的查詢。
更新時間:
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
上面的查詢工作,但如何與laravel使用?
1.你有一個錯字在你最後的代碼列,2。你得到什麼錯誤? –
已更新任何帖子 – Earon
嘗試將licences.id更改爲僅限ID。 –