我试着使用laravel中的relationship来检索数据,并且我一直都会得到这个错误。
找不到列:1054未知列“orders.customers\u id”
在“where子句”(SQL:select*fromorderswhere)中
orderscustomers_id输入(1、2、3、4、5、6、7、8、9、10)
在这之前我用的是这些代码:

 $data = DB::table('customers')
        ->join('orders', 'orders.customer_id', 'customers.id')
        ->get();

    // convert to json string
    $data = json_decode(json_encode($data), true);
    return $data;

它返回我想要的确切结果是:
php - 如何在Laravel中使用关系检索数据-LMLPHP
这是我的顾客桌:
php - 如何在Laravel中使用关系检索数据-LMLPHP
订单表
php - 如何在Laravel中使用关系检索数据-LMLPHP
命令
    class Orders extends Model
{
    public function customer(){
        return $this->belongsTo(Customers::class);
    }
}

客户
 class Customers extends Model
{
    public function order(){
        return $this->hasMany(Orders::class);
    }

数据控制器
class DataController extends Controller
{
    public function all()
    {

        $All = Customers::with('order','order.customer_id')->paginate(10);

        return response()->json([
            'code' => 0,
            'success' => true,
            'data' => $All,
            'pagination' => [
                'current_page' => $All->currentPage(),
                'last_page' => $All->lastPage(),
                'prev_page_url' => $All->previousPageUrl(),
                'next_page_url' => $All->nextPageUrl(),
                'per_page' => $All->perPage(),
                'total' => $All->total(),
                'count' => $All->count(),
            ]
        ], 200);

最佳答案

你能试试这个吗
订单模型

class Orders extends Model
{
    public function customer(){
        return $this->belongsTo(Customers::class, 'customer_id');
    }
}

数据控制器
class DataController extends Controller
{
    public function all()
    {

        $All = Customers::order()->paginate(10);

        return response()->json([
            'code' => 0,
            'success' => true,
            'data' => $All,
            'pagination' => [
                'current_page' => $All->currentPage(),
                'last_page' => $All->lastPage(),
                'prev_page_url' => $All->previousPageUrl(),
                'next_page_url' => $All->nextPageUrl(),
                'per_page' => $All->perPage(),
                'total' => $All->total(),
                'count' => $All->count(),
            ]
        ], 200);

我刚把外键放进模型里。我不完全确定它应该在Order Model中还是在Customer Model中,无论哪种方式都可以尝试这两种方式。
希望有帮助!

10-07 17:57