将变量传递给函数

时间:2018-10-04 10:09:25

标签: php laravel variables

我想从函数传递变量到函数消息。我在else扇区中创建$ groupname,并尝试在消息函数查询中使用它。在我看来,最好的方法是什么?

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 :(得分:1)

您可以尝试创建class的私有属性,然后在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!';
    }
}

答案 1 :(得分:1)

将变量添加到function largestProduct(ints) { ints.sort((a, b) => b - a); return ints[0] * ints[1] * ints[2]; } 范围内。那么您可以访问它。

示例代码

$this