* アーティストエイリアス属性
*/
public function getAliasStrAttribute()
{
$aliasArray = json_decode($this['alias'], true);
if (isset($aliasArray)) {
$aliasNames = array_column($aliasArray, 'name');
$alias = '';
for ($i = 0; $i < count($aliasNames); $i++) {
if ($i + 1 < count($aliasNames)) {
$alias .= $aliasNames[$i] . '/';
} else {
$alias .= $aliasNames[$i];
}
}
return $alias;
}
}
↓だめだったやつ
foreach ($aliasNames as $aliasName) {
$i = 0;
$i++;
if ($i < count($aliasNames)) {
$alias .= $aliasName . '/';
} else {
$alias .= $aliasName;
}
}
return $alias;
凡ミスで、毎回$iを初期化していた。。。foreachでもいけました。
修正版↓
$i = 0;
foreach ($aliasNames as $aliasName) {
$i++;
if ($i < count($aliasNames)) {
$alias .= $aliasName . '/';
} else {
$alias .= $aliasName;
}
}
return $alias;