【发布时间】:2015-10-25 06:07:59
【问题描述】:
在创建文章时尝试上传图片并将该图片附加到文章中,这样我就可以在我看来像{{ $article->image->path }} 这样的事情。到目前为止,一切都设置好,文章被保存到正确的目录,路径被添加到数据库中(虽然路径很奇怪,例如名为“moon-wallpaper”的文件将保存为“img/moon -wallpaper.jpg.jpg”——出于某种原因,它添加了两次扩展名)。但无论如何..
我的问题是保存到 images 表的图像路径应该附加一个 article_id 以便在视图中引用...但是我收到一个错误并且错误显示“正在尝试获取属性非对象”,因为 store 方法中的 $response->id 计算结果为 null =S 我做错了什么?我怎样才能正确地做到这一点?
任何帮助都会很棒!
文章控制器中的存储方法:
public function store(ArticleRequest $request)
{
$this->createArticle($request);
$image = $request->file('image');
$uploads = 'img/';
$imageName = $image->getClientOriginalName().'.'.$image->getClientOriginalExtension();
$image->move($uploads, $imageName);
$response = $this->createArticle($request);
Image::create([
'path' => $uploads.$imageName,
'article_id' => $response->id
]);
return redirect('blog');
}
使用私有方法创建文章。 createArticle 方法:
private function createArticle(ArticleRequest $request)
{
$article = Auth::user()->articles()->create($request->all());
$this->syncTags($article, $request->input('tag_list'));
}
【问题讨论】: