J'essaie de faire un middleware qui peut filtrer ma demande HTTP en vérifiant si la Lorsque la situation est la suivante: - p> Il redirige vers $ Suivant (Demande $ ); fort> qui est correct
Si cela le fait, je veux procéder à ma
Et si je ne veux pas, je veux le rediriger.
Mais quand la
Et il montre cette erreur <?php
namespace App\Http\Middleware;
use Closure;
use App\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class Posts
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$ip = DB::table('users')->where('uuid', '=', $request->created_by)->first();
// dd($ip);
if ($ip->uuid == $request->created_by) {
if ($ip == null) {
return redirect('https://www.google.com');
}
}
return $next($request);
}
}
3 Réponses :
Edit:
Vous avez déjà effectué la comparaison dans dB, mise à jour poignée () code> pour être: p>
Même si la valeur est NULL, elle exécute toujours $ suivante (Demande $) b>
Merci pour l'aide, ça me dérangerait de m'aider avec une autre question
Vous devez vous assurer que $ IP n'est pas null avant d'essayer d'accéder à la propriété UUID.
public function handle($request, Closure $next) { $ip = DB::table('users')->where('uuid', '=', $request->created_by)->first(); if(is_null($ip) || $ip->uuid !== $request->created_by) { return redirect('https://www.google.com'); } return $next($request); }
Merci pour l'aide, ça vous dérangerait de m'aider avec une autre question?
Vous pouvez utiliser facultatif pour éviter toute erreur si votre objet est NULL.
public function handle($request, Closure $next) { $ip = DB::table('users')->where('uuid', '=', $request->created_by)->first(); if(optional($ip)->uuid == $request->created_by) { return $next($request); } return redirect('https://www.google.com'); }
Merci pour l'aide, ça vous dérangerait de m'aider avec une autre question?
Sinon, DB, alors $ IP est null. Vous ne pouvez pas vérifier $ ip-> uuid à ce point dans votre premier si. Cette propriété n'est pas présente, car la variable est null.
Vous devez vous assurer que $ IP n'est pas null avant d'essayer d'accéder à la propriété UUID.
Oui, je suis la valeur est NULL c'est ce que je veux "si la valeur est null, je veux qu'il redirige sur Google.com"
C'est dommage que vous n'ayez pas été inspiré de quelque chose après vous-même après que beaucoup de gens vous avaient dirigé à partir de l'erreur. Vous n'apprenez pas beaucoup à travailler de cette façon.
Je savais que la norme $ est nulle mais je n'ai pas connu beaucoup de façons de résoudre ce problème -Je va faire mieux la prochaine fois i>