gpt4 book ai didi

php - Laravel 5 - Laracast Easy Auth - 保存文章

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:47 27 4
gpt4 key购买 nike

我在 laracast 上学习了一个关于 easy auth 的教程(Easy Auth),但是视频中有一些空白,我不得不声明

 use Auth;

为了能够获取当前用户,但是,当我保存文章时出现此错误

FatalErrorException in ArticleController.php line 42:
Call to undefined method Illuminate\Database\Eloquent\Collection::save()

我的ArticleController中对应的代码在哪里

public function store(ArticleRequest $request)
{
$article = new Article($request->all());

Auth::user()->articles->save($article);

return redirect('blog');
}

我的文章模型:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Article extends Model {

protected $fillable = [
'title',
'body',
'published_at',
'user_id'
];

protected $dates = ['published_at'];

public function scopePublished ($query)
{
$query->where('published_at', '<=', Carbon::now());

}

public function scopeUnpublished ($query)
{
$query->where('published_at', '>', Carbon::now());

}

public function setPublishedAtAttribute($date)
{
$this->attributes['published_at'] = Carbon::parse($date);
}

public function user()
{
return $this-> belongsTo('App\User');
}

}

我的用户模型

<?php namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

use Authenticatable, CanResetPassword;

/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'email', 'password'];

/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];

public function articles()
{
return $this-> hasMany('App\Article');
}
}

最佳答案

试试这个

Auth::user()->articles()->save($article);

存储操作

public function store(ArticleRequest $request)
{
$article = new Article($request->all());
Auth::user()->articles()->save($article);
return redirect('blog');
}

关于php - Laravel 5 - Laracast Easy Auth - 保存文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30287035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com