Я создал функцию для проекта laravel для публикации новостей, если пользователь открывает новый, я добавляю в таблицу newid и userid, чтобы я знал, кто его открывает, теперь я хочу отображать жирным шрифтом непрочитанные новости, которые я пытаюсь с отношениями но мне не удалось это сделать
новости моей модели
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Auth;
class News extends Model
{
use SoftDeletes;
protected $fillable = [
'titles',
'content',
'user_id',
'filename',
'publish',
'category',
];
protected $dates = ['deleted_at'];
public function users() {
return $this->belongsTo('App\User','user_id');
}
public function readnew() {
return $this->hasMany('App\Readnews','user_id',Auth::user()->id);
}
}
нет ошибки, я получаю правильные данные, но связь равна нулю
Ваш readnew пытается получить новости, которые уже были прочитаны. Чтобы найти непрочитанные новости, вам нужно исключить newid, уже находящийся в таблице.
а как отфильтровать ИД пользователя?
Я предлагаю вам сделать это вне отношений, так как вам нужно найти все новости, которых нет в Readnews.






Вы получаете сообщения об ошибках? Каков результат текущих отношений?