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快樂,所以你可以檢查它作爲你的問題的答案 –

相關問題