Передать переменную в функцию - PullRequest
0 голосов
/ 04 октября 2018

Я хочу передать переменную из функции в сообщение функции.Я создаю $ groupname в секторе else и пытаюсь использовать его в запросе функции сообщения.Что в моем случае лучший способ сделать это?

class ExistingGroupMembers implements Rule
{

    public function __construct()
    {
        //
    }

    public function passes($attribute, $value)
    {
        $existingMembers = Member::where([['idgroup', $value],['member', '<>', Auth::id()]])->select('id')->first('id');
        if(!empty($existingMembers)){
            return true;
        }else{
            $groupname = Group::where('id', $value)->select('name')->first();
            return false;
        }
    }

    public function message()
    {
        return 'In der Gruppe ' .$groupname. ' existieren keine User!';
    }
}

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

добавьте ваши переменные в область действия $this.тогда вы можете получить к нему доступ.

пример кода

public function passes()
{
    $this->group_name = Group::where('id', $value)->select('name')->first();
}

public function message()
{
    return 'In der Gruppe ' . $this->group_name . ' existieren keine User!';
}
0 голосов
/ 04 октября 2018

Вы можете попытаться создать приватное свойство класса, затем установить значение в функции passes, а затем получить доступ к этому свойству в message функции

class ExistingGroupMembers implements Rule
{

    private $groupname;

    public function __construct()
    {
        //
    }

    public function passes($attribute, $value)
    {
        $existingMembers = Member::where([['idgroup', $value],['member', '<>', Auth::id()]])->select('id')->first('id');
        if(!empty($existingMembers)){
            return true;
        }else{
            $this->groupname = Group::where('id', $value)->select('name')->first();
            return false;
        }
    }

    public function message()
    {
        return 'In der Gruppe ' .$this->groupname. ' existieren keine User!';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...