如何解决Laravel在整数和数组形成的列之间创建关系
首先:我无权更改当前数据库的列或内容。
我有两个不同的表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 举报,一经查实,本站将立刻删除。