我正在玩弄我的第一個Laravel項目,上面的問題可能有點混淆,但讓我解釋一下: -(Laravel)從表格中獲取ID與另一個表格鏈接的表格中的數據
我有3個表(其實我有更多的,但讓我們忽略它),我有standards
,stddetails
& sections
如下所示: -
所以外鍵對應低於: -
從表sections
=列
ssctionFK
表
stddetails
列
列
stdPK
從表standards
=列stdFK
從
表stddetails
和情景是這樣的: -
可以說我有一個$id
匹配stdPK
從表standards
。 與那$id
,我需要得到表sections
的所有數據。問題是,我無法找到正確的查詢,因爲standards
和sections
表只與stddetails
表相關聯。
目前我在我的web.php
查詢是這樣的: -
Route::get('getstddtl/{id?}', function ($id) {
$stdsec = Section::
leftJoin('stddetails', 'ssctionFK', '=', 'ssctionPK')
->join('standards', function($join) use ($id){
$join->on('stdPK', '=', 'stdFK')
->where('stdFK', $id);
});
return view('standarddtl', [
'stdsec' => $stdsec
]);
});
我想這應該很容易,孩子......我錯了......我希望有人能幫助我,因爲我的大腦有思維能力非常有限。
UPDATE 1: -
我已經設置在每個模型中的口才關係,並使用Laravel的鋒方法中檢索數據: -
$stdsec = Stddetail::with('section')->find($id);
的所有數據被從兩個stddetails
& sections
檢索現在的問題是在顯示頁面中顯示來自列ssctionName
的sections
表中的數據時遇到問題,因爲它返回錯誤。
顯示頁面上的相關代碼如下: - 顯示
@foreach ($stdsec as $task)
{{strtoupper($task->ssctionName)}}
@endforeach
錯誤: -
我覺得口才方法是好的,現在顯示的部分是給我麻煩。有關如何解決這個問題的任何想法?
更新2: -
這裏的每個表的模式: -
表standards
爲標準模型: -
namespace App;
use Illuminate\Database\Eloquent\Model;
class Standard extends Model
{
public $primaryKey = 'stdPK';
public function stddetail()
{
return $this->hasMany(Stddetail::class, 'stdFK', 'stdPK');
}
}
表stddetails
爲Stddetail模型: -
namespace App;
use Illuminate\Database\Eloquent\Model;
class Stddetail extends Model
{
public $table = "stddetails";
public $primaryKey = 'sdtlPK';
protected $fillable = ['stdFK', 'sdtlPgNo', 'sdtlLnNo', 'sdtlText', 'sdtlShrtnote', 'sdtlSchm', 'svrFK', 'ssctionFK', 'sdtlRefLbl'];
public function standard()
{
return $this->belongsTo(Standard::class, 'stdFK');
}
public function section()
{
return $this->belongsTo(Section::class, 'ssctionFK');
}
}
表sections
爲科模型: -
namespace App;
use Illuminate\Database\Eloquent\Model;
class Section extends Model
{
public $primaryKey = 'ssctionPK';
public function stddetails()
{
return $this->hasMany(Stddetail::class, 'ssctionFK', 'ssctionPK');
}
}
這不是打算如何使用數據庫。但是你可以用pk作爲外鍵進行一些連接。 –
看看關係嗎?屬於/有很多? – senty
@ThomasMoors Owh,不知道..其實有很多表互相鏈接,但在我正在處理的一個頁面上,使用這3個表.. – Kaydarin