Ларавель. Сервер Ubuntu. Модель User. Связана со многими моделями типа так
public function files()
{
return $this->hasMany('App\Models\File', 'user_id', 'id');
}
Всякие отношения. Типа. Многие ко многим, ко многим через, имеет один и т.д.
Хочу автоматизировать проверку наличия объектов для связанных моделей. Делаю.
public function hasModel($model)
{
return count($this->$model) > 0;
}
Проверки такие
if ($user->hasModel('files')) {
..
}
На сервер-продакшене прилетает ошибка.
count(): Parameter must be an array or an object that implements Countable
При этом на локалхосте ошибки нет.
Накидал такие варианты
public function hasModel($model)
{
return $this->$model()->exists();
if (!empty($this->$model()->first())) {
return true;
} return false;
return $this->$model()->first()->count() > 0;
return count($this->$model) > 0;
}
Каким способом лучше проверять наличие записи в отношениях? Стоит ли вообще пытаться одним методом проверять для всех отношений или для каждого отношения прописывать свою отдельную проверку и, тогда какую?
Типа
public function hasFile()
{
// Что вы здесь обычно пишете?
}