我是Laravel的新手,我非常喜欢。
我提出了一个查询并且它正在运行,但我想知道是否有更优雅的方法来实现它。 我有一个Product表和一个Manufacturer表。关系是:
$products = \App\Product::join('manufacturers',
'products.manufacturer_id', '=', 'manufacturers.id')
->where('manufacturers.name', 'like', $needle)
->orWhere('products.name', 'like', $needle);
我的查询是:
join
这是对的吗?有没有更好的办法?也许没有在Eloquent模型中使用Dim na As Variant, fn As String
na = Application.Transpose(Application.Transpose(Range("b1:f1").Value2))
fn = Join(na, "-")
Debug.Print fn
。
感谢。
答案 0 :(得分:2)
在Product
模型中创建关系:
public function manufacturer()
{
return $this->belogsTo(Manufacturer::class, 'foreign_key');
}
然后你可以使用
$products = \App\Product::whereHas('manufacturer', function ($query) use ($needle) {
$query->where('name', 'like', $needle);
})->orWhere('name', 'like', $needle);