已关闭,该问题需要details or clarity,目前不接受回答。
**想要改进此问题?**通过editing this post添加详细信息并澄清问题。
昨天关门了。
Improve this question
我有代码在laravel php喜欢这个.我用这个代码来检查子topik_id在每个父.我认为我的代码是非常脏,所以我想重构它,使其动态.这里我的代码
public function checkParent()
{
$dt = $this->getSubTopiks()["subTopiks"];
$arrId = [];
if ($this->sub_topik_id) {
array_push($arrId, $this->sub_topik_id);
$aa = $dt->where('id', $this->sub_topik_id)->first();
if ($aa->sub_topik_id) {
array_push($arrId, $aa->sub_topik_id);
$bb = $dt->where('id', $aa->sub_topik_id)->first();
if ($bb->sub_topik_id) {
array_push($arrId, $bb->sub_topik_id);
$cc = $dt->where('id', $bb->sub_topik_id)->first();
if ($cc->sub_topik_id) {
array_push($arrId, $cc->sub_topik_id);
$dd = $dt->where('id', $cc->sub_topik_id)->first();
if ($dd->sub_topik_id) {
array_push($arrId, $dd->sub_topik_id);
}
}
}
}
}
return $arrId;
}
如何将此代码转换为动态代码?
1条答案
按热度按时间gcuhipw91#
您可以使用
loop
来使其更具动态性。下面是如何覆盖checkParent
函数的示例:在这个方法中,我使用了while
loop
来不断检查父对象,直到我们得到一个没有sub_topik_id
的parent
。我们从当前对象作为parent
开始,然后通过使用前一个父对象的sub_topik_id
查询$dt
集合来更新循环中的parent
变量。我希望它是有用的。