【问题标题】:Laravel 5 relationsheep between article and imagesLaravel 5文章和图片的关系
【发布时间】:2016-09-24 20:03:43
【问题描述】:

您好,我是 Laravel 的新手,我遇到了这个简单的问题。我有应用程序,用户可以在其中创建一些文章,也可以上传该文章的主图像,并且效果很好。我还想让用户为他的文章上传更多图片。我已经创建了模型(ArticleImage)并添加了 Article 和 ArticleImage 之间的关系。我创建了表单字段,用于在文章表单中上传多个文件。但我现在不知道如何告诉 laravel 将这些路径的所有名称保存到数据库中并将图像存储在 public/images 文件夹中,然后在视图中我可以使用这些图像。我现在是否需要创建 ArticleImage 控制器和内部控制器来编写该函数,或者我应该在存储函数内部的 Article 控制器中执行该操作。 Tnx 提前为每一个帮助。 这是github-repo的链接(https://github.com/Dabizlja/Laravel-blog

【问题讨论】:

    标签: php laravel orm image-uploading


    【解决方案1】:

    如果表单将输入作为数组发送。

    <input name="picures[]" />
    

    在保存的 ArticleController 中,您可以使用 json 类型

    $files=[];
    $pictures = $request['pictures'];
    if (count($pictures) > 0 && $pictures[0] != null) {  
            foreach ($pictures as $picture) { 
                $validator = Validator::make([$picture], ['mimes:jpeg,jpg,bmp,png']);
                if ($validator->fails()) {
                    return $validator->messages()->all();
                }
    
                $picture->move(public_path() . '/images/', $picture->getClientOriginalName());
                array_push($files, $picture->getClientOriginalName());
            }
        }
       $article->images = json_encode($files);
    

    让它回到视图中

    <?php   
      foreach ( $images as $file) {
        echo  '<img src="'asset('/images/' . $file)'"/>';
      }
     ?>
    

    在你的控制器中编辑记得解码 json

    $files = json_decode($article->images);
    

    要删除图片,您必须遍历数组并以相同的方式将其删除。

    希望这对你有用。

    【讨论】:

    • 我不记得 getClientOriginalName() 是否也提供扩展,请测试,如果没有,请在保存时连接 getClientOriginalExtension()
    【解决方案2】:

    可能是

    $article->articleImages()->saveMany($images);
    

    希望这能解决您的问题

    【讨论】:

    • $files = $request-&gt;file('images'); $uploadcount = 0; foreach($files as $file) { $destinationPath = public_path('images/'); $fname = $file-&gt;getClientOriginalName(); $loc = $file-&gt;move($destinationPath, $fname); $uploadcount ++; } 我在 ArticleController 中有这段代码,但我如何知道从这里你可以获取这些文件的所有名称并将它们插入到字段名称中的 article_images 表中。我需要在 ArticleImagesController 中这样做吗?
    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2017-01-12
    • 2017-01-04
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多