я знаю, что этот вопрос уже задавался, но ответы у меня не работают
у меня есть таблица с именем channel_posts
с этой моделью
class ChannelPost extends Model
{
function PostLike( ){
return $this->hasMany('App\ChannelPostLike' ,'post_id');
}
}
и есть channel_post_likes
таблица, в которой я храню лайки
channel_post_likes : id , post_id , user_id
теперь в моем шаблоне есть иконка .. если пользователю понравился пост, я хочу, чтобы он имел class="liked"
, чтобы я мог в своем контроллерепроверьте, понравился ли пользователю сообщение из БД, и отправьте его для просмотра ... но есть много вызовов ajax, которые частично обновляют шаблон ... например, если пользователь отправляет комментарий к сообщению, я обновляю шаблон через ответ ajax
function comment_store(Request $request , $id ){
//store in db
echo json_encode(['html'=> view('include.channel-post-comment' , compact('comments' ,'post'))->render()]);
}
это означает, что я должен проверить, понравился ли пользователь также посту здесь, и добавить его для просмотра
Мне было интересно, смогу ли я сделать это в шаблоне
как я могу добавить это отношение к ChannelPost
модели
function UserPostLike( $user_id ){
return $this->hasOne('App\ChannelPostLike' ,'post_id')->where('user_id' , $user_id) ;
}
и в шаблоне я могу иметь
<i class="like-icon @if($post->UserPostLike(Auth::user()->id)) liked @endif "></i>
, но, конечно, это не работает ... так какая у меня альтернатива? я должен проверить это в контроллере FOPR каждый вызов, который обновил мой шаблон?