Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对多个模型使用相同的作用域_Php_Laravel - Fatal编程技术网

Php 对多个模型使用相同的作用域

Php 对多个模型使用相同的作用域,php,laravel,Php,Laravel,如何创建一个可以由多个模型使用的范围,而不污染全局范围空间?每次我想使用这个作用域时,都会手动调用它 例如: $assigns = Assign::dryScope(); $contacts = Contact::dryScope(); 您可以按照以下模板创建扩展模型的类: class xModel extends Model { protected function dryScope() {} } class Assign extends xModel { } 您可以按照

如何创建一个可以由多个模型使用的范围,而不污染全局范围空间?每次我想使用这个作用域时,都会手动调用它

例如:

$assigns = Assign::dryScope();
$contacts = Contact::dryScope();

您可以按照以下模板创建扩展模型的类:

class xModel extends Model
{

    protected function dryScope() {}

}


class Assign extends xModel
{

}

您可以按照以下模板创建扩展模型的类:

class xModel extends Model
{

    protected function dryScope() {}

}


class Assign extends xModel
{

}

最好的方法是使用特性。根据需要使用适当的名称空间。 ScopeTrait.php

trait ScopeTrait {
   protected function dryScope() {
    //Scope definition
    }
}


class Assign extends xModel
{
    use ScopeTrait;

}

最好的方法是使用特性。根据需要使用适当的名称空间。 ScopeTrait.php

trait ScopeTrait {
   protected function dryScope() {
    //Scope definition
    }
}


class Assign extends xModel
{
    use ScopeTrait;

}

这是唯一的方法,全局范围。你可能想玩
Traits
这是唯一的方法,全局范围。你可能想玩
Traits
使用的Traits。谢谢,用了一个特征。谢谢