モデルレコードの作成フォームをmailableに送信した後にデータが転送されないようです。私はそれが大部分で正しいと思うが、私はコントローラーと私のmailableの間のギャップを通してデータを渡すことに固執している。Laravelでコントローラとmailableの間でデータを渡す
私は、次の機能を備えた出荷コントローラがあります。今、あなたが見ることができるように下の「メールニアラインがある
public function store(Request $request)
{
$this->validate(request(), [
'pro_number' => 'required',
'shipment_origin' => 'required'
/*'piecesNumber' => 'required' (had to remove for now, but must review)*/
]);
$user_id = Auth::id();
$input = $request->all();
//Save Initial Shipment Data
$shipment = new Shipment();
$shipment->pro_number = request('pro_number');
$shipment->shipment_origin = request('shipment_origin');
$shipment->date = request('date');
$shipment->due_date = request('due_date');
$shipment->tractor_id = request('tractor_id');
$shipment->trailer_id = request('trailer_id');
$shipment->driver_id = request('driver_id');
$shipment->notes = request('notes');
$shipment->shipper_no = request('shipper_no');
$shipment->ship_to = request('ship_to');
$shipment->ship_from = request('ship_from');
$shipment->bill_to = request('bill_to');
$shipment->bill_type = request('bill_type');
$shipment->load_date = request('load_date');
$shipment->shipment_status = 0;
$shipment->created_by = $user_id;
$shipment->save();
//Save Shipment Details
for ($i = 0; $i < count($request->shipment_details['piecesNumber']); $i++) {
Shipment_Detail::create([
'shipment_id' => $shipment->id,
'pieces_number' => $request->shipment_details['piecesNumber'][$i],
'pieces_type' => $request->shipment_details['piecesType'][$i],
'rate_type' => $request->shipment_details['rateType'][$i],
'charge' => $request->shipment_details['charge'][$i],
'weight' => $request->shipment_details['weight'][$i],
'hazmat' => $request->shipment_details['hazmat'][$i],
'description' => $request->shipment_details['description'][$i] ]);
}
$user = Auth::user()->email;
Mail::to($user)->send(new newFreightBill($shipment));
Session::flash('success_message','Freight Bill Successfully Created'); //<--FLASH MESSAGE
//Return to Register
return redirect('/shipments/i/'.$shipment->url_string);
}
を::($ユーザ)へ - >(新newFreightBill($送ります出荷)); mailable
に、私は何をやっているしたいと思いますが、コピーに提出$出荷からデータを移動している」マイnewFreightBillのmailable:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Shipment;
class newFreightBill extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $shipment;
public function __construct(Shipment $shipment)
{
$shipment = $this->shipment;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('MYEMAIL')
->view('emails.shipments.created')->with(['shipment', $this->shipment]);
}
}
と私のメールテンプレート(WH私は私のテストで受け取る):
<div>
Pro Number: {{ $shipment['pro_number'] }}
</div>
あなたが見ることができるように、テンプレートは非常に簡単です。
Pro Number:
他にも実際の番号はありません。だから私は、フォームのデータを送信可能な変数に渡すという問題があることを知っています。
私はあなたが述べた提案をすると、私は次のエラーが表示されます:{{$ shipment-> pro_number}}を参照して非オブジェクトのプロパティを取得しようとしています – Matthew
@Matthew私は自分の答えを更新し、 :) –
@Matthewそれは動作しましたか? –