2016-07-07 71 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);