Ad
Laravel Middleware Redirect If Table Is Empty
I am trying to set up middleware that prevents a user from visiting a URL unless they have saved their shipping address information to my database. However, it is not working.
Migration:
Schema::create('addresses', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('street');
$table->string('city');
$table->string('state');
$table->string('zip');
$table->string('country');
$table->timestamps();
});
Middleware:
public function handle($request, Closure $next)
{
if (!$request->user()->addresses('id')) {
return redirect('shipping');
}
return $next($request);
}
Ad
Answer
The addresses()
relationship method returns a QueryBuilder
which is true
thful.
I recommend that you check for the count of addresses instead by using the aggregate methodcount
.
if ($request()->user()->addresses()->count() == 0) {
return redirect('shipping');
}
Ad
source: stackoverflow.com
Related Questions
- → I can't do a foreign key, constraint error
- → How to implement DbDongle::convertTimestamps as workaround of invalid timestamps with MySql strict
- → MySQL error "Foreign key constraint is incorrectly formed"
- → Eloquent Multitable query
- → "Laravel 5.1" add user and project with userId
- → Database backup with custom code in laravel 5 and get the data upto 10 rows from per table in database
- → Laravel 5.1 QueryException when trying to delete a project
- → Using Array in '->where()' for Laravel Query Building
- → Chaining "Count of Columns" of a Method to Single Query Builder
- → Laravel Eloquent Joining Strange query
- → convert time using mysql laravel 5
- → How to update a column after an expiration date in MySQL?
- → Foreign key constraint fails on existing key
Ad