我有兩個名為DataKelurahan和 的模型RegistrasiPasien,并且具有一對多關系,但我無法訪問該關系。我制作了一個用于添加患者的表格并將其保存到表格中registrasi_pasiens,效果很好。但是當我嘗試顯示關系數據時,它無法正常工作。在registrasi_pasiens表中,我有 1 條記錄kelurahan_id = 3。php artisan tinker然后,我嘗試通過以下命令訪問它:$kelurahan = App\Domain\DataKelurahan\Models\DataKelurahan::find(3)工作正常并且數據存在。$pasien = App\Domain\RegistrasiPasien\Models\RegistrasiPasien::find(2007000001)工作正常并且數據存在kelurahan_id = 3$kelurahan->pasiens結果是null. 它不應該顯示 kelurahan_id = 3 的 pasien 數據嗎?$kelurahan->pasiens->nama結果是這樣的PHP Notice: Trying to get property 'nama' of non-object in D:/PROFESSIONAL/PROJECT/WEB DEVSeval()'d code on line 1 => null我不知道我的代碼有什么問題。非常感謝你們的幫助。以下是我制作的模型:數據Kelurahan.php<?phpnamespace App\Domain\DataKelurahan\Models;use Illuminate\Database\Eloquent\Model;use App\Domain\RegistrasiPasien\Models\RegistrasiPasien;class DataKelurahan extends Model{ protected $fillable = ['nama_kelurahan', 'nama_kecamatan','nama_kota']; public function pasiens(){ return $this->hasMany('RegistrasiPasien'); }}注冊Pasien.php<?phpnamespace App\Domain\RegistrasiPasien\Models;use Illuminate\Database\Eloquent\Model;use App\Domain\DataKelurahan\Models\DataKelurahan;class RegistrasiPasien extends Model{ protected $fillable = [ 'nama', 'alamat', 'telepon', 'rt', 'rw', 'tgl_lahir', 'jenis_kelamin' ]; public function kelurahan(){ return $this->belongsTo('DataKelurahan'); }}下面是我的數據庫表:數據_kelurahansSchema::create('data_kelurahans', function (Blueprint $table) { $table->increments('id'); $table->string('nama_kelurahan'); $table->string('nama_kecamatan'); $table->string('nama_kota'); $table->timestamps();});
1 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
來自文檔:
Eloquent 將自動確定模型上正確的外鍵列。按照慣例,Eloquent 將采用所屬模型的“蛇形案例”名稱,并添加后綴
_id
.
hasMany
因此,Eloquent 可能會弄錯你的外鍵名稱,因此你必須通過向/方法傳遞附加參數來覆蓋外鍵belongsTo
:
public function pasiens(){
? return $this->hasMany('RegistrasiPasien','kelurahan_id');
}
public function kelurahan(){
? return $this->belongsTo('DataKelurahan','kelurahan_id');
}
- 1 回答
- 0 關注
- 175 瀏覽
添加回答
舉報
0/150
提交
取消