2016-07-07 76 views
0

我无法找出如何通过父类调用类的功能,在这种情况下File->saveFile()的一类方法Article调用相关的雄辩模型

class Article extends Model { 
    public $table = 'pl_gen_article'; 

    public function background_image() { 
    return $this->morphOne('App\Ubercms\File', 'fileable'); 
    } 
} 

class File extends Model { 
    public $table = 'ubercms_file'; 

    public function saveFile (UploadedFile $file) {} 
} 


$articleId = \Route::input('id'); 
$article = Article::findOrFail($articleId); 
$file = $request->file('image'); 

// ---------------------- 
// Attempts 

// 1. 
$article->background_image->saveFile($file) 

// 2. 
$image = new $article->background_image(); 
$image->saveFile($file); 

如何创建一个File模型实例来自Article模型?

回答

0

通过Laravel API文档追查$article->background_image()响应其为MorphOne例如,在那里我可以叫firstOrNew它返回一个File实例,我能够事后打电话saveFile

$model = $article->background_image()->firstOrNew([]); 
$model->saveFile($file);