问题描述
首先:我无权更改当前数据库的列或内容。
我有两个不同的表Account
和Territory
,每个表均由其模型表示。
Account:
name | uid |
############
Test | 12|
Test2| 13|
Test1| 132|
Test4| 143|
“ uid”列是整数
Territory:
###############################
name | members |
TestTerr | ["12","132","13"]|
TestTerr2 | ["143"] |
因此,基本上,“成员”列是未定义大小的php数组。
现在,我想在两者之间创建一个关系,不幸的是,由于括号[
和]
,使用纯sql无法实现这种关系。
到目前为止我尝试过的是: 试图“欺骗”口才,说这是json列->不起作用 尝试编写自己的作用域,但是摆弄后,我仍然无法提出有用的解决方案。
我认为示波器本身并不是一个坏主意,但我不能将各个部分放在一起
public function scopeWithBuilders(\Illuminate\Database\Eloquent\Builder $query)
{
$query->addSelect(['builders' => Account::whereIn('uid',function(\Illuminate\Database\Query\Builder $q) {
return $q->select(*)->from(§this->table)->where(/*get actual row??*/)->first()
})]);
}
还有其他方法可以将这种关系放在一起吗?
目前,我有解决方案,可以解析视图中的每个条目并“手动”将所有内容放在一起,但这在性能方面是明智的选择,而且看起来也很丑陋。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)