我有三個表像這樣:如何在Laravel中的表格之間建立關係?
// users
+----+-----------+
| id | user_name |
+----+-----------+
| 1 | Jack |
| 2 | Peter |
| 3 | John |
+----+-----------+
// skills
+----+------------+
| id | skill_name |
+----+------------+
| 1 | PHP |
| 2 | HTML |
| 3 | Laravel |
| 4 | MySQL |
| 5 | jQuery |
+----+------------+
// skill_user
+----------+---------+
| skill_id | user_id |
+----------+---------+
| 2 | 1 |
| 5 | 1 |
| 1 | 2 |
| 2 | 2 |
| 4 | 2 |
+----------+---------+
現在我想獲得一個特定用戶的所有技能。我能做到這一點通過在原始的SQL查詢使用join
條款:
SELECT s.skill_name
FROM skills s
JOIN skill_user su ON s.id = su.skill_id
WHERE su.user_id = :user_id
/* output (assuming :user_id is 1)
+------------+
| HTML |
| jQuery |
+------------+
好所有的罰款。現在我想知道,我怎麼能在Laravel框架模型中添加一個方法?我想要做的全部是使用belongsTo()
,hasOne()
,hasMany()
等。
謝謝@stack!我使用查詢生成器更新了另一種方式。兩部作品都取決於您的喜好。 – geckob