我有这个代码可以正常工作
Rprof(); <your_code>; Rprof(NULL); summaryRprof()
但我想发送使用下面给定的行
获取的数组 public function success(Request $request)
{
$paymentstatus=$request->input('status');
$transactionid=$request->input('txnid');
Ticket::where('transactionid',$transactionid)->update(['paymentstatus'=>$paymentstatus]);
$ticketdata=Ticket::with('eventdetail')->where('transactionid',$transactionid)->first();
$venuename=$ticketdata->eventdetail->venuename;
$eventname=$ticketdata->eventdetail->eventname;
$eventdate=Carbon::parse($ticketdata->eventdetail->eventdate)->format('d M Y');
$myticketdata=array('ticketid'=>'200','class'=>'gold','no_of_persons'=>'10','fullname'=>'tommy dollar','email'=>'xya@gmail.com','mobile'=>'9874563210','transactionid'=>'alskdjflaskjdflakjd');
EmailController::sendemail($ticketdata->email,$myticketdata);
return "success";
}
所以在上面的函数我改变了这一行
$ticketdata=Ticket::with('eventdetail')->where('transactionid',$transactionid)->first();
我知道这个错误是因为我没有将数组传递给这个函数,但是我无法纠正这个代码。 我也尝试将对象强制转换为数组,但这确实在这里工作。
答案 0 :(得分:6)
由于$ticketdata
是Illuminate\Database\Eloquent\Model
的实例,因此您可以使用toArray()
方法将其转换为数组:
$ticketdata = Ticket::with('eventdetail')
->where('transactionid', $transactionid)
->first()
->toArray();
http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Model.html#method_toArray
答案 1 :(得分:0)
$status = \Mail::send('emails.templete_name', ['ticketdata' => $ticketdata, 'somethingelse'=> 'somethingelse'], function($message) use ($ticketdata)
{
$message->to($ticketdata->email, 'text')->subject('text');
});
答案 2 :(得分:0)
尝试将数据放入数组:
$ticketdata=Ticket::with('eventdetail')->where('transactionid',$transactionid)->first()->toArray();