ReleaseSongService.php 892 Bytes
<?php

namespace App\Services;

use App\Helper\Response;
use App\Models\Legal\SongsIp;

/**
 * Class ReleaseSongService
 * @package App\Services
 */
class ReleaseSongService extends Service
{
    /**
     * 最新的发行作品
     * @return \Illuminate\Http\JsonResponse
     */
    public function releaseSong()
    {
        $res = SongsIp::query()->with(['songsIpExt:id,song_ip_id,track_cover'])->select(['id','song_id', 'edition'])
                        ->orderByDesc('online_time')->paginate($this->pageSize);

        foreach ($res as &$item) {

            $item->setAttribute('id', $item->id);
            $item->setAttribute('name', $item->edition);
            $item->setAttribute('cover', $item->songsIpExt ? $item->songsIpExt->track_cover : '');
            unset($item->songsIpExt, $item->edition, $item->song_id);
        }

        return Response::success($res);
    }
}