Вы можете попробовать это.
$user = \Auth::user();
$restaurants = Restaurant::where('title', 'like', '%'.$query.'%')
->where("user_id", $user->id)
->get();
Если вы хотите добавить модель Restorent с глобальной областью действия, вам следует использовать Global Scope .
С этим решением,вам просто нужно добавить Global Scope с моделью Restorent, и после этого для каждой связанной с восстановлением транзакции пользователь может получать / обновлять / удалять только свои собственные записи.
App / Scopes /UserScope.php
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class UserScope implements Scope
{
/**
* Apply the scope to a given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public function apply(Builder $builder, Model $model)
{
$builder->where('user_id', \Auth::user()->id);
}
}
Использование: в вашей модели Restaurant.php
<?php
namespace App;
use App\Scopes\UserScope;
use Illuminate\Database\Eloquent\Model;
class Restaurant extends Model
{
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::addGlobalScope(new UserScope);
}
}