123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019/6/6
- * Time: 14:08
- */
- namespace App\Transformers\Circle;
- use App\Models\InterestCircle;
- use App\Models\InterestCirclePicture;
- use App\Traits\UserTrait;
- use Illuminate\Support\Carbon;
- use Illuminate\Support\Facades\Redis;
- use League\Fractal\TransformerAbstract;
- class PictureListTransformer extends TransformerAbstract
- {
- use UserTrait;
- public function transform(InterestCirclePicture $interestCirclePicture)
- {
- $user = $this->formatUser($this->userInfo($interestCirclePicture['uid']));
- return [
- 'id' => $interestCirclePicture['patch_num'],
- 'user' => $user ? $user : new \stdClass(),
- 'imgs' => $this->getImgs($interestCirclePicture),
- 'created_at' => Carbon::parse($interestCirclePicture['created_at'])->toDateTimeString(),
- ];
- }
- public function getImgs(InterestCirclePicture $interestCirclePicture)
- {
- $imgs = [];
- $key = 'circle_picture_' . $interestCirclePicture['patch_num'];
- $tmp = Redis::get($key);
- if (empty($tmp)) {
- $picList = InterestCirclePicture::where('patch_num', $interestCirclePicture['patch_num'])->get();
- foreach ($picList as $pic) {
- $imgs[] = $pic->image;
- }
- } else {
- $imgs = json_decode($tmp, true);
- }
- return $imgs;
- }
- }
|