传递给Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany :: create()的参数1必须为数组类型,给定字符串,

时间:2020-06-22 17:15:40

标签: laravel-6

当我尝试将一些图像插入与propertis表相关的图像表中时出现此错误,是否语法或语法错误?或者我的逻辑错误?

这是我的财产模型

    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;



class Properti extends Model
{
    //

    

    protected $fillable = [

        'title', 'description', 'address', 'city', 'price', 'floors', 'beds', 'status', 'bath', 'area'

    ];


    public function image(){

        return $this->hasMany('App\Image');
        
    }

 

}

这是我的图像模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Image extends Model
{
    //

    protected $fillable = [

        'properti_id', 'images'

    ];

    public function properti(){
        
        return $this->belongsTo('App\Properti');
    }
}

这是我的PropertiController

public function store(Request $request)
    {
        //

        if(!Session::get('login')){
            return view('errors.404');
        }
        else{

       

        $this->validate($request,[
            'images' => 'array',
            'images.*' => 'required|file|image|mimes:jpeg,png,jpg|max:2000',         
            'title' => 'required',
            'address' => 'required',
            'city' => 'required',
            'bath' => 'numeric',
            'beds' => 'numeric',
            'floors' => 'numeric',
            'area' => 'numeric',
            'price' => 'numeric',
        ]);

        $created_by = Session::get('name');
        $images = [];
        $folder = 'storage/images/properti';  //lokasi di Url:: Storage
        if ($files = $request->file('images')) {
           foreach ($files as $file) {
              $image_name = $file->getClientOriginalName();
              $file->move($folder,$image_name);
              $images[] = $image_name;
           }
        }
        
        $properti = [
            'title' => $request->title,
            'description' => $request->description,
            'address' => $request->address,
            'images' => $images,
            'created_by' => $created_by,
            'city' => $request->city,
            'price' => $request->price,
            'area' => $request->area,
            'floors' => $request->floors,
            'status' => $request->status,
            'beds' => $request->beds,
            'bath' => $request->bath
        ];
        
            $value = Properti::create($properti);
            
            foreach ($images as $image) {
               
              $image = $value->image()->createMany($properti);

            }

        }

    }

它有没有解决问题的有效方法?

0 个答案:

没有答案