Database 如何在eloquent中通过id调用2个不同表中的数据?

Database 如何在eloquent中通过id调用2个不同表中的数据?,database,laravel,firebase-realtime-database,eloquent,illuminate-container,Database,Laravel,Firebase Realtime Database,Eloquent,Illuminate Container,那是控制器 public function hitung($request, $response, $args) { $datauser = User::with(['usia','aktivitas'])->find($args['id']); $tinggi = $datauser['tinggi']; $berat = $datauser['berat']; $nama = $datau

那是控制器

public function hitung($request, $response, $args)

{  

    $datauser = User::with(['usia','aktivitas'])->find($args['id']);


    $tinggi         = $datauser['tinggi'];
    $berat          = $datauser['berat'];
    $nama           = $datauser['nama'];
    $umur           = $datauser['umur'];
    $aktivitas      = $datauser['aktivitaas_id'];
    $usia           = $datauser['usia_id'];
    $nilai          = $datauser->aktivitas->nilai;
    $energy         = $datauser->usia->energy;
    $protein        = $datauser->usia->protein;
    $lemak          = $datauser->usia->lemak;
    $karbohidrat    = $datauser->usia->karbohidrat;

    $amb = 655 + (9.6 * $berat) + (1.8 * $tinggi) - (4.7 * $umur);
    $amb = round($amb);

    $energytotal = $amb * $nilai + $energy;
    $energytotal = round($energytotal);
    $protein     = (15 * $energytotal / 100) + $protein;
    $protein = round($protein);
    $lemak       = (25 * $energytotal / 100) + $lemak;
    $lemak = round($lemak);
    $karbohidrat = ($energytotal - ($protein + $lemak)) + $karbohidrat;
    $karbohidrat= round($karbohidrat);

    return $response ->withJson([
            'Nama'  => $nama,
            'total_energy' => $energytotal , 
            'Protein'=> $protein,
            'lemak'=> $lemak,
            'Karbohidrat'=> $karbohidrat,
            ]);


}
这就是用户模型:

    <?php

namespace App\models;

use Illuminate\Database\Eloquent\Model;

class User extends Model



{
    public   $timestamps  = false;

protected $fillable = ['username', 'password', 'nama', 'tinggi', 'berat', 'umur', 'usia_id', 'aktivitas_id'];

protected $table    = "users";

 public function usia()
{
    return $this->belongsTo('App\Models\Usia');
}

public function aktivitas()
{
    return $this->belongsTo('App\Models\Aktivitas');
}

    public function forum()
{
    return $this->hasMany('App\Models\Forum');
    }

}

有什么不同的方法吗?

我想您的本地主机是Windows,远程主机是Linux

首先,您应该知道windows文件和文件夹名称不区分大小写,并且windows操作系统中的模型和模型之间没有区别

但是Linux文件和目录名区分大小写

在您的代码中:

namespace App\models;

您使用
模型
模型


您应该检查目录名,并在您写入错误单词的任何位置重命名它。

id中的值是多少?您是否尝试使用where语句而不是find()方法,例如$datauser=
User::where('id','=',$args['id'])->with(['usia','aktivitas'])->get()?您在主机上显示了哪个错误?我使用post man,显示空白页,错误是500内部服务器error@YusranPanca很高兴,所以你可以检查它作为你问题的答案
  <?php

namespace App\models;

use Illuminate\Database\Eloquent\Model;

class Usia extends Model 
{
protected $table    = "usia";

public function user()
{
    return $this->hasMany('App\Models\User');
    }

}
$datauser = User::with(['usia','aktivitas'])->find($args['id']);
namespace App\models;
return $this->hasMany('App\Models\User');