2016-03-27 11 views
1

メール関数内未定義の変数:maxoffer<request->input('price')が、私は素敵行とその仕事を更新する必要がある場合maxofferがnullでなく、場合のでLaravel 5.1 - 私はこの店のOfferController内部メソッド持って

public function store(Requests\OfferRequest $request) 
    { 

      $offer = new Offer($request->all()); 

      Auth::user()->offer()->save($offer); 

      $maxoffer = Maxoffer::where('article_id', $request->input('article_id')) 
        ->where('start', Carbon::createFromFormat('m/d/Y h:i a', $request->input('start'))) 
        ->first(); 

        //dd($maxoffer->article()->first()->user->name); 
    if($maxoffer == null) 
    { 
     Auth::user()->maxoffer()->create($request->all()); 
    } 
    else 
    { 
     if($maxoffer->price < $request->input('price')) 
     { 
     $user = Auth::user(); 

     Mail::send('emails.newoffer', compact('user', 'maxoffer'), function ($m) use ($user) { 

     $m->from($maxoffer->article()->first()->user->email, $maxoffer->article()->first()->user->name); 
     $m->to($maxoffer->user()->first()->email, $maxoffer->user()->first()->name)->subject('Someone have the bigger offer than you'); 

     $key = ''; 
     $newOffer = Maxoffer::where('id', $maxoffer->id) 
        ->update(['price'=>$request->input('price'),'user_id'=>Auth::user()->id, 'key'=>$key, 'provera'=>$request->input('provera')]); 


     }); 
     } 
    } 

     Alert::success('Keep looking for best rates. Good luck...', 'Thanks for bidding!')->persistent("Close"); 


     return Redirect::back(); 

    } 

をするだけでなく、I新しいmaxoffer前maxofferを投稿された以前のユーザーにMAILを送信する必要があるが、MAIL関数内で私はちょうど得る:

未定義の変数を:maxoffer enter image description here

ここで何が問題なのですか?なぜmaxofferは未定義ですか?

+0

Probemはmaxoffer変数のみです。私はMail :: sendに渡すことができます。 – Andrew

答えて

2

関数のクロージャに$ maxofferを渡します。

Mail::send('emails.newoffer', compact('user', 'maxoffer'), function ($m) use ($user, $maxoffer) { 

    $m->from($maxoffer->article()->first()->user->email, $maxoffer->article()->first()->user->name); 
    $m->to($maxoffer->user()->first()->email, $maxoffer->user()->first()->name)->subject('Someone have the bigger offer than you'); 

    $key = ''; 
    $newOffer = Maxoffer::where('id', $maxoffer->id) 
       ->update(['price'=>$request->input('price'),'user_id'=>Auth::user()->id, 'key'=>$key, 'provera'=>$request->input('provera')]); 


    }); 
関連する問題