gpt4 book ai didi

php - Laravel:将参数传递给关系函数?

转载 作者:可可西里 更新时间:2023-10-31 23:11:39 25 4
gpt4 key购买 nike

是否可以通过某种方式将参数传递给关系函数?

我目前有以下内容:

public function achievements()
{
return $this->belongsToMany('Achievable', 'user_achievements')->withPivot('value', 'unlocked_at')->orderBy('pivot_unlocked_at', 'desc');
}

问题是,在某些情况下,它不会获取 unlocked_at 列并返回错误。

我试过做这样的事情:

public function achievements($orderBy = true)
{
$result = $this->belongsToMany (...)
if($orderBy) return $result->orderBy(...)
return $result;
}

并将其命名为:

$member->achievements(false)->(...)

但这行不通。有没有一种方法可以将参数传递给该函数,或者有什么方法可以检查是否正在使用 pivot_unlocked_at

最佳答案

好吧,我所做的只是向我的模型添加新属性,然后将我的条件添加到该属性,只需这样做。

Class Foo extends Eloquent {
protected $strSlug;

public function Relations(){
return $this->belongsTo('Relation','relation_id')->whereSlug($this->strSlug);
}
}

Class FooController extends BaseController {
private $objFoo;


public function __construct(Foo $foo){
$this->objFoo = $foo
}

public function getPage($strSlug){
$this->objFoo->strSlug = $strSlug;
$arrData = Foo::with('Relations')->get();
//some other stuff,page render,etc....
}
}

关于php - Laravel:将参数传递给关系函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23016216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com