// тебе возвращает null, поэтому когда ты обращаешься ->chat, то "Trying to get property of non-object"
// ты в where передал просто объект, а надо значение поля $user->id / $friend->id
Chat::where('user_id', $user->id)->where('friend_id', $friend->id)->orderBy('id', 'desc')->first();
// это ты тестируешь чат с самим собой? Потому что в этих переменных содержится один и тот же пользователь.
$user = Auth::user();
$friend = Auth::user();
$last_message = Chat::where('user_id', $user->id)->where('friend_id', $friend->id)->orderBy('id', 'desc')->first();
dd(last_message );
class NodeScope implements ScopeInterface {
protected $extensions = ['WithoutNode'];
public function apply(Builder $builder, Model $model)
{
$builder->with('nodes');
}
public function remove(Builder $builder, Model $model)
{
$eagerLoads = $builder->getEagerLoads();
array_forget($eagerLoads, 'nodes');
$builder->setEagerLoads($eagerLoads);
}
public function extend(Builder $builder)
{
foreach ($this->extensions as $extension)
{
$this->{"add{$extension}"}($builder);
}
}
protected function addWithoutNode(Builder $builder)
{
$builder->macro('withoutNode', function(Builder $builder)
{
$this->remove($builder, $builder->getModel());
return $builder;
});
}
}
// написал для трейта HasNode
public static function withoutNodes()
{
return with(new static)->newQueryWithoutScope(new NodeScope());
}
// для ProductBand без скоупа идет запрос, то что надо мне
// а для отношения images запрос с global scope(
$brands = ProductBrand::withoutNodes()
->with(['images' => function($query) {
$query::withoutNodes();
}])
->get()
Post::where('user_id', $user->id)->paginate(10);
Не совсем понял о "посты в закладке".
Они могут быть от разных пользователей.
То есть получить массив пациентов могу, а вот привязать к каждому пациенту консультацию не могу.
$patients = Patient::with('consultations')->get();