可以使用Laravel的Eloquent ORM来查询关联表的数据,具体的代码如下:

use App\Models\Order;
use App\Models\Product;
use App\Models\Mina;

$orders = Order::with(['product.mina'])->get();

foreach ($orders as $order) {
    $p_name = $order->product->p_name;
    $m_name = $order->product->mina->m_name;
    // 这里可以根据需要对数据进行处理
}

这个查询会将orders表和关联的products表以及mina表的数据一次性查询出来,然后使用关联关系来获取对应的数据。

在控制器的grid里,需要在字段定义中加入对应的关联关系,例如:

$grid->column('p_name', __('Product'))->display(function () {
    return $this->product->p_name;
});

$grid->column('m_name', __('Mina'))->display(function () {
    return $this->product->mina->m_name;
});

这样就可以在grid中显示关联表的数据了。注意,如果关联表的数据不存在,这里会出现错误,需要根据具体情况进行处理。

在laraval admin有3个表orders表products表mina表orders的p_id字段关联products表的idproducts表的m_id字段关联mina表的id我怎么查询可以查出order表的字段以及关联products表的p_name和mina表的m_name字段并且在控制器的grid里怎么写才能显示m_name字段

原文地址: https://www.cveoy.top/t/topic/03I 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录