Php 具有关系的Laravel全局范围
我想要一个具有全局查询作用域的模型,其作用域是多态的一对一关系 问题是,一切都在运行,我可以创建全局查询范围,但在全局查询范围类中的Php 具有关系的Laravel全局范围,php,laravel,scope,relationship,Php,Laravel,Scope,Relationship,我想要一个具有全局查询作用域的模型,其作用域是多态的一对一关系 问题是,一切都在运行,我可以创建全局查询范围,但在全局查询范围类中的apply函数中没有关系。我希望使用关系进行查询,而不仅仅是进行连接查询或其他操作 有人知道这是否可能吗 我有以下代码: class Content extends Model { use Environmentabletrait; } trait EnvironmentableTrait { public static function boot
apply
函数中没有关系。我希望使用关系进行查询,而不仅仅是进行连接查询或其他操作
有人知道这是否可能吗
我有以下代码:
class Content extends Model {
use Environmentabletrait;
}
trait EnvironmentableTrait {
public static function bootEnvironmentableTrait() {
static::addGlobalScope(new EnvironmentScope);
}
public function environment() {
return $this->morphOne(Environment::class, 'environmentable');
}
}
class Environment extends Model {
public function environmentable() {
return $this->morphTo();
}
}
class EnvironmentScope implements ScopeInterface {
public function apply(Builder $builder, Model $model) {
$builder-> ...
}
}
public function apply(Builder $builder, Model $model)
{
return $builder->whereHas('environment', function ($query) {
$query->where('environment', app()->environment());
});
}
及
我希望我解释得足够好;)
提前非常感谢没关系,我用以下代码修复了它:
class Content extends Model {
use Environmentabletrait;
}
trait EnvironmentableTrait {
public static function bootEnvironmentableTrait() {
static::addGlobalScope(new EnvironmentScope);
}
public function environment() {
return $this->morphOne(Environment::class, 'environmentable');
}
}
class Environment extends Model {
public function environmentable() {
return $this->morphTo();
}
}
class EnvironmentScope implements ScopeInterface {
public function apply(Builder $builder, Model $model) {
$builder-> ...
}
}
public function apply(Builder $builder, Model $model)
{
return $builder->whereHas('environment', function ($query) {
$query->where('environment', app()->environment());
});
}
您好,我们是否也可以在模型中的两个表之间进行内部联接??