私のモデルにAuth::id()
を取得して、現在のユーザーが投票しているかどうかを確認する必要があります。 Eloquentモデルで現在のユーザーにアクセスするには?Laravel現在のモデルのユーザー
モデル: 名前空間App。あなたはこのようなcontroller
にActicle
のインスタンスを作成した後方法getIsUserVotedAttribute()
を呼び出すために計画している場合は、私がnull
私のモデルにAuth::id()
を取得して、現在のユーザーが投票しているかどうかを確認する必要があります。 Eloquentモデルで現在のユーザーにアクセスするには?Laravel現在のモデルのユーザー
モデル: 名前空間App。あなたはこのようなcontroller
にActicle
のインスタンスを作成した後方法getIsUserVotedAttribute()
を呼び出すために計画している場合は、私がnull
の\Auth::id()
を取得getIsUserVotedAttribute
方法で
use App\User;
use App\ArticleVote;
use Illuminate\Database\Eloquent\Model;
class Article extends Model {
protected $fillable = ['title', 'body', 'link'];
protected $appends = ['votesCount', 'isUserVoted'];
public function getIsUserVotedAttribute() {
return !!$this->votes()->where('user_id', \Auth::id())->first();
}
}
:
$article = new Article;
$article->getIsUserVotedAttribute();
私は示唆しますmethod
を定義するときにuser id
をパラメータとして渡します。
public function getIsUserVotedAttribute($user_id) {
return !!$this->votes()->where('user_id', $user_id)->first();
}
次にあなたがこの
$article = new Article;
$article->getIsUserVotedAttribute(Auth::user()->id);
ようなあなたのコントローラで使用することができますが、あなたはIDまたはヌルを得る意味でください、それは
残念なことに私はこのように私はJSONを返すためにトランスフォーマーを使用し、私のインデックスメソッドは、このような 'return $ this-> response-> withPaginator(Article :: orderBy( 'id'、 'desc')のように見える - >ページ設定(15)、新しい記事トランスフォーマー、 '記事'); –
を役に立てば幸い? –
このクラスにインポートを表示する – Naumov
質問が更新されました。私はnullを取得 –