изображение не существует в этом экземпляре коллекции - PullRequest
1 голос
/ 28 июня 2019

Я пытаюсь отобразить несколько изображений из строки с именем image в таблице продуктов из базы данных в представление, но получаю эту ошибку Property [image] does not exist on this collection instance. из цикла @foreach(json_decode($products->image, true) as $product), я пробовал другие решения, но они неРабота.

Вот коды

Контроллер

  public function store(Request $request) 
  { 

    $Input=$request->all();
    $image=array();
    if($files=$request->file('image')){
        foreach($files as $file){
            $name=$file->getClientOriginalName();
            $file->move('images',$name);
            $image[]=$name;

        }

    } 
   product::create(array_merge($Input,
   [
    'image' => json_encode($image),

    ])); 
    return redirect()->back(); 

    }

Вид лезвия

     @foreach(json_decode($products->image, true) as $product)
      <img src="{{url('images',$product->image)}}" alt="">
     @endforeach

Модель продукта

   protected $table='products';
  protected $primaryKey='id';
  protected $fillable=['name','price','image','stock'];

public function images()
{
    return $this->belongsTo('App\product', 'image');
}

Любая помощьбудет оценен.

1 Ответ

0 голосов
/ 28 июня 2019

Модель вашего продукта должна выглядеть следующим образом, чтобы иметь несколько изображений:

protected $table='products';
protected $primaryKey='id';
protected $fillable=['name','price','image','stock'];

public function images() {
    return $this->hasMany('App\images');
}

Возможно, вам также понадобится добавить ключи, если они не совпадают, например:

return $this->hasMany('App\images', 'product_id', 'id');

Как только это будет сделано, вы можете перебирать изображения следующим образом:

@foreach($products as $product)
   @foreach($product->images as $image)
       <img src="{{url('images',$image->filepath)}}" alt="">
   @endforeach
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...