0

那控制器如何通过口才在ID中从2个不同的表中调用数据?

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'); 
    } 

} 

那的aktivitas模型:

 <?php 

    namespace App\models; 

    use Illuminate\Database\Eloquent\Model; 

    class Aktivitas extends Model 

{ 

    protected $table = "aktivitas"; 
public function user() 
{ 
    return $this->hasMany('App\Models\User'); 
} 

} 

那的USIA模型,

<?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']); 

任何不同的方式去做吧 ?

+0

是什么,这将是在'id'值是多少?你有没有尝试使用where语句而不是find()方法,例如。 $ datauser ='User :: where('id','=',$ args ['id']) - > with(['usia','aktivitas']) - > get();'? –

+0

你在主机上显示哪个错误? –

+0

我使用张贴男人,显示空白页面,错误是500内部服务器错误 –

回答

0

我猜你的地方是Windows和远程主机的Linux

首先你应该知道Windows文件和文件夹的名称是不区分大小写的,并有模型和模型之间没有什么不同在Windows操作系统

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

在你的代码

namespace App\models; 

return $this->hasMany('App\Models\User'); 

地方使用Modelsmodels

你应该检查目录名和任何地方将其重命名你写的错字

+0

非常感谢很多人,它已经工作 –

+0

@YusranPanca快乐,所以你可以检查它作为你的问题的答案 –

相关问题