【发布时间】:2015-06-26 07:05:30
【问题描述】:
我的 Laravel 应用程序出现以下错误,有人可以帮我解决这个异常吗?
SerializableClosure.php(153) 中的 FatalErrorException : eval()'d 代码 第 2 行:调用数组上的成员函数 getOwnerEmail()
我的 getter 在 Notices.php 模型中:
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Notice extends Model {
/**
* A notice is created by a user
* @return [type] [description]
*/
public function user()
{
return $this->belongsTo('App\User');
}
/**
* Get the email address of the notice
* @return [type] [description]
*/
public function getOwnerEmail()
{
return $this->user->email;
}
NoticesController.php
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Provider;
use App\Notice;
use Illuminate\Http\Request;
class NoticesController extends Controller {
public function store(Request $request)
{
$notice = $this->createNotice($request);
\Mail::queue('emails.dmca', compact('notice'), function($message) use ($notice) {
$message->from($notice->getOwnerEmail())
->to($notice->getRecipientEmail())
->subject('DMCA Notice');
});
return redirect('notices');
}
public function createNotice(Request $request)
{
$notice = session()->get('dmca') + ['template' => $request->input('template')];
\Auth::user()->notices()->create($notice);
return $notice;
}
public function create()
{
// get list of providers
$providers = Provider::lists('name', 'id');
return view('notices.create', compact('providers'));
}
【问题讨论】:
-
你正在使用的
Notice对象不是模型对象,它是一个数组,你是如何得到$notice变量的,说明它的用途。 -
请查看更新后的帖子
-
请显示
createNotice。 -
$notice = $this->createNotice($request);返回一个array。