簡單地說,你想要做的,可以做的事情如下所示。
public function getCategory($categoryIds) // ex) 1,2,3
{
$categoryIdArray = explode(",", $categoryIds); // [1,2,3]
$categoryName = '';
foreach ($categoryIdArray as $categoryId){
$category = DB::table('categories')->where('id',$categoryId)->first();
$categoryName .= $category->name . ',';
}
$categoryName = substr($categoryName, 0, -1);
return $categoryName;
}
但是,上面的例子沒有利用Model
的優點。
Model
哪個有getCategory
方法有category_ids
屬性?
如果是這樣,你可以寫如下。
public function getCategory()
{
$categoryIdArray = explode(",", $this->category_ids);
$categoryName = '';
foreach ($categoryIdArray as $categoryId){
$category = DB::table('categories')->where('id',$categoryId)->first();
$categoryName .= $category->name . ',';
}
$categoryName = substr($categoryName, 0, -1);
return $categoryName;
}
您可以訪問category_ids
具有通過$this
例如1,2,3
值,因此它不需要argument
。
要有效地做到這一點,您可以在另一個模型中使用category_id
屬性。
在這種情況下,你可以做得更簡單。
參考: https://laravel.com/docs/5.4/eloquent-relationships#many-to-many
你解決了我的問題...非常感謝... –
不客氣!我很高興問題解決了。 – Yujiro