[英]Laravel: How to get specific column data of M:M relationship in array format in all row of a another table
Laravel eloquent查詢從M:M關系中獲取數據
person_table : id, name_of_person
skills_table : id, name_of_skill
M:M table : person_table_id , skills_table_id
結果將是
{
id: 1,
name: harat,
skills: [
'php',
'laravel',
'reactjs',
'nodejs',
]
}
如果您查看文檔,您將看到可以使用with
以便您可以立即加載skills
。
所以,你應該有這樣的代碼:
$person = Person::with('skills')->first();
然后如果你執行$person->skills
你應該有一個Collection
(不是一個數組)來保存所有的技能,比如id: 1, name: php
, id:2, name: laravel
等等。
所以,你應該格式化你的結果模型,如:
$person->map(function (Person $person) {
return [
'id' => $person->id,
'name' => $person->name,
'skills' => $person->skills->pluck('name'),
];
});
您還可以利用API Resources
來格式化輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.