- Писане на ревю на продукт след поръчка
WT форуми -> PHP MySQL ASP.NET -> Писане на ревю на продукт след поръчка
Създайте нова тема Напишете отговор 
Автор Съобщение
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 51
Bonus: 87
Мнения: 2559
Мнение 30/10/2017 2:45 pm     Писане на ревю на продукт след поръчка Отговорете с цитат


Здравейте,

Моля, помагайте, че нещо зациклих. Искам да направя следното: След като потребител закупи продукт да има възможно да му остави ревю.

Проблема ми е, когато в една поръчка са няколко продукта. Искам да сложа бутон "Добави ревю" на всеки продукт.

Това, което се получава
Писане на ревю на продукт след поръ

На снимката се вижда, че имам оставени 2 коментара към 2 продукта от една поръчка. Единия коментар е одобрен и бутона показва "Редактирай", а другия чака одобрение. Проблема е в "Добави ревю" бутона, че пак се показва.. а не трябва да е там. За по-лесно съм изкарал и ID-тата на продуктите, като се вижда как се дублира.

Това е което имам в контролера

    public function orderView($orderId)
    {       
        $order = Order::with('review')->where('order_id', $orderId)->where('status', 1)->where('user_id', Auth::user()->user_id)->first();
        $reviews = Review::with('item')->where('user_id', Auth::user()->user_id)->get();       

        return View::make('users.orders_view', [
            'order' => $order,
            'reviews' => $reviews
        ]);
    }


Това имам в блейд вюто

@forelse($reviews as $review)
   @if($review->product_id == $item->product_id)   
      @if($review->rating_published == 0)
         <a class="btn btn-warning btn-xs">Чака за одобрение ID: {{$item->product_id }}</a>
      @else
                        <a class="btn btn-warning btn-xs" href="">Редактирай</a>
      @endif
   @else
         <a class="btn btn-warning btn-xs" href="">Добави ревю</a>   
   @endif                                 
@empty
                              
   <a class="btn btn-warning btn-xs" href="">Добави ревю</a>
@endforelse   

Review модел

   public function item()
   {
      return $this->belongsTo('App\Product', 'product_id','product_id');
   }   

Product модел

   public function reviews()
   {
      return $this->hasMany('App\Review', 'product_id', 'product_id');
   }


Използвам Laravel 5.4
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
n641951363
Нов
Нов

Регистриран на: 29/08/2017 2:35 pm

Support: 3
Bonus: 6
Мнения: 28
Мнение 30/10/2017 4:08 pm      Отговорете с цитат


Пробвай така колега.
Ако правилно съм разбрал трябва да свърши работа

@forelse($reviews as $review)
    @if($review->product_id == $item->product_id)
        @if($review->rating_published == 0)
            <a class="btn btn-warning btn-xs">Чака за одобрение ID: {{$item->product_id }}</a>
        @else
            <a class="btn btn-warning btn-xs" href="">Редактирай</a>
        @endif
    @else
          <a class="btn btn-warning btn-xs" href="">Добави ревю</a>   
    @endif
@endforelse
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети