如何在laravel elequent中加入这两个表并将它们作为一个表?
表1(基本信息):
id baseId Site_ID region city address
1 123 321 west wakanda street2
表2(基数):
base_id First Second third
1 54 52 51
如果它们是正确的,我有两个模型idk:
class base extends Model
{
public function Counts() {
return $this->hasOne(CountInBase::class, 'base_id');
}
}
class CountInBase extends Model
{
public function bases() {
return $this->belongsTo(base::class ,'base_id','id');
}
}
在控制器中我试图进行此查询,但我没有得到明确的结果,我只是得到第一个表的结果:
$data = base::where('region' ,'=' ,'west')->with(['Counts'])->get();
答案 0 :(得分:0)
您可以像这样访问Counts
数据:
foreach($data as $base) {
// $base->Counts->First;
}
答案 1 :(得分:0)
当您要将两个或多个不同的表作为一个表联接时,必须使用联接
final Semaphore gate = new Semaphore(Integer.MAX_VALUE);
void submit() {
if (gate.tryAcquire()) {
try {
// submit
} finally {
gate.release();
}
}
}
void shutdown() throws InterruptedException {
gate.acquire(Integer.MAX_VALUE);
// shutdown
}
在mysql中,有两种方法可以连接两个或多个表:
内部加入
左加入
右加入
联盟
交叉连接或笛卡尔积
自动加入
完全外部加入
,Laravel支持了他们。您可以看到它的文档here