亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 laravel 使用多圖片上傳器時如何從另一個帖子表單獲取 id?

使用 laravel 使用多圖片上傳器時如何從另一個帖子表單獲取 id?

PHP
慕標琳琳 2023-05-12 14:27:04
我有博客文章和多圖片上傳器兩種形式,基本上我想在博客文章表單中使用多圖片上傳器,但是我需要從博客文章表單中獲取 ID,以便每個博客文章都有自己獨特的一組圖像。我知道您可以使用外鍵在兩個表之間建立鏈接,但我不確定該怎么做。現在博客文章表單只上傳一個文件,所以我想要一種方法將多圖像上傳器邏輯使用到 PostController 中,然后將其保存到圖像表中。非常感謝您的幫助謝謝。圖片控制器    public function store(Request $request)    {        if(!$this->validate($request, [            'id' => 'integer',            'images.*' => 'sometimes|image|nullable|mimes:jpeg,png,jpg,gif,svg,webp|max:25000',            'post_id' => 'required'        ])) {            return redirect()->back()->with('errors');        }        if($request->hasfile('images'))        {            foreach($request->file('images') as $image)            {                $filenameWithExt = $image->getClientOriginalName();                $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);                $extension = $image->getClientOriginalExtension();                $fileNameToStore = $filename.'_'.time().'.'.$extension;                $path = $image->storeAs('public/image', $fileNameToStore);                $image = new Images;                $image->images = $fileNameToStore;                $image->post_id = $request->post_id;                $image->save();            }        }        return back()->with('Images have been uploaded!');    }后控制器    public function store(Request $request)    {        // Validate posted form data        $validated = $request->validate([            'id' => 'integer',            'vehicle'    => 'required|string',            'h1' => 'required|string',            'page_title' => 'required|string',            'meta_description' => 'required|string',            'image' => 'sometimes|image|nullable|max:5000',            'content' => 'required|string',            'active' => 'integer',            'user_id' => 'required'        ]);
查看完整描述

1 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

您可以將圖像存儲在您的PostController.


PostController在您的(store()方法中)中刪除此部分:


        if($request->hasFile('image'))

        {

            $filenameWithExt = $request->file('image')->getClientOriginalName();


            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);


            $extension = $request->file('image')->getClientOriginalExtension();


            $fileNameToStore = $filename.'_'.time().'.'.$extension;


            $path = $request->file('image')->storeAs('public/image', $fileNameToStore);

        }else {

            $fileNameToStore = null;

        }

并在創建post循環后保存圖像。更改此行:


$image->post_id = $request->post_id;

對此:


$image->post_id = $post->id;

首先使用Images頂部的模型PostController。您的新循環應如下所示:


    if($request->hasfile('images'))

    {

        foreach($request->file('images') as $image)

        {

            $filenameWithExt = $image->getClientOriginalName();


            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);


            $extension = $image->getClientOriginalExtension();


            $fileNameToStore = $filename.'_'.time().'.'.$extension;


            $path = $image->storeAs('public/image', $fileNameToStore);


            $image = new Images;

            $image->images = $fileNameToStore;

            $image->post_id = $post->id;

            $image->save();

        }

    }

然后(基于模型中的關系)您可以使用如下方式訪問圖像:


@foreach($post->images as $image)

    <img src="public/image{{ $image->fileNameToStore">

@endforeach


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號