Я получаю нулевое значение из функции в Laravel - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь получить возврат этого метода, но он выдает ошибку. Если я помещаю var_dump внутри метода, он читает переменную, которую я хочу вернуть, но вне метода, приравнивая ее к другой переменной, я получаю null. Я пытался отправить данные по ссылке, но ни одна из них не работает. Это код:

 public function restrictionMinimunBid(Request  $request, $karateka,  $bid)
    {
        $allKaratekas = Karateka::all()
        ->map(function ($allKaratekas) use ($karateka, $request, & $bid){
                if($karateka->id == $allKaratekas->id ){
                   if($request->bid > $allKaratekas->value){
                    $bidFilter =$request->bid;
                    var_dump($bidFilter);
                    return $bidFilter;
                    $msg ="The bid is more than the value of karateka /  Bid created.";
                    var_dump($msg);
                   }
                   else{
                       $error ="The bid is less than the value of karateka";
                       var_dump($error);
                   }
                }
        });
    }

И вот где я хочу получить значение, и оно равно нулю:

 $bidFilter = self::restrictionMinimunBid($request, $karateka, $bid);
 var_dump($bidFilter);

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020
 public function restrictionMinimunBid(Request  $request, $karateka,  $bid)
    {

       return Karateka::all()
        ->map(function ($allKaratekas) use ($karateka, $request, & $bid){
                if($karateka->id == $allKaratekas->id ){
                   if($request->bid > $allKaratekas->value){
                    $bidFilter =$request->bid;
                    var_dump($bidFilter);
                    return $bidFilter;
                    $msg ="The bid is more than the value of karateka /  Bid created.";
                    var_dump($msg);
                   }
                   else{
                       $error ="The bid is less than the value of karateka";
                       var_dump($error);
                   }
                }
        })->filter(function($value, $key) {
    return  $value != null;
})[0];
    }
 $bidFilter = $this->restrictionMinimunBid($request, $karateka, $bid);

вам необходимо вернуть значение.

0 голосов
/ 11 апреля 2020

Вы забыли return в своей функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...