微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

laravel-medailibrary getFirstMediaUrl“ images”对于连接的表不起作用

如何解决laravel-medailibrary getFirstMediaUrl“ images”对于连接的表不起作用

我在从laravel-medailibrary中的联接表中获取媒体时遇到问题,我使用getFirstMediaUrl(“ images”)从一个表中获取照片,并且可以工作,但是如果我加入两个或三个表,则无法工作我解决了吗?

我想从用户分享的帖子中获取照片。

此帖子表:

enter image description here

这是share_tb表:

enter image description here

这是用户表:

enter image description here

这是媒体表:

enter image description here

解决方法

尝试一些方法后,我找到了答案:

public function getPosts(Request $request)
{


    $result = [];

    $postID = DB::table("share_tb")->where("user_id",Auth::user()->id)->get();

    foreach ($postID as $id) {

        if (count(Post::where("id",$id->related_id)->get()) > 0) {
            $posts = Post::where("id",$id->related_id)->get();
            foreach ($posts as $post) {

                // $result = $post->getMedia('images');
                array_push($result,[
                    "comment_count" => getTotalComment($post->id),"course_id" => $post->course_id,"id" => $post->id,'post_image' => count($post->getMedia('images')) > 0 ? $post->getMedia('images')[0]->getFullUrl('big') : "",'logo'=>GetCourseLogo::collection(Course::where('course_id',$post->course_id)->get()),"post_author" => $post->post_author,"post_date" => $post->post_date,"post_excerpt" => $post->post_excerpt,"post_modified" => $post->post_modified,"post_parent" => $post->post_parent,"post_title" => $post->post_title,"post_type" => $post->post_type,]);
            }
        }

    }
    return Response()->json($result);

}

通过此资源集合,我得到了徽标:

class GetCourseLogo extends JsonResource
  {
     public function toArray($request)
       {
          return $this->getFirstMediaUrl('logo');
       }
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。