suchen

Heim  >  Fragen und Antworten  >  Hauptteil

laravel – Eloquent-bezogenes Modell kann die Daten der zugehörigen Tabelle nicht abrufen

Code-Update-Adresse

Unternehmenseigenschaftstabellen-Mastertabelle,
Eigenschaftshauptgemeinschaftstabellen-Slavetabelle

Eine Immobilie entspricht mehreren Gemeinden und eine Gemeinde entspricht einer Immobilie

Anwendungsszenario: Die Liste der Community-Hinzufügungen, Löschungen und Änderungen muss die entsprechenden Eigentumsinformationen der Community anzeigen

Kann es mit nicht rausbekommen! ! ! !

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class PropertyMain extends Model {
    protected $table      = 'property_main';
    public    $primaryKey = 'mId';
    protected $fillable   = [
        'mId',
        'phone',
        'companyId',
    ];

    public function company() {
        //参数1目标模型 参数2当前模型与company表关联的外键ID 参数3companny主键ID
        return $this->belongsTo('App\Models\Company','companyId','mId');
    }
}
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Company extends Model {
    protected $table      = 'company';
    public    $primaryKey = 'mId';
    protected $fillable   = [
        'mId',
        'name',
        'phone',
        'introduce'
    ];
    
    public function propertyMain() {
        return $this->hasMany('App\Models\Property','mId','mId');
    }
}
$propertyMains = PropertyMain::with('company')->get();
foreach ($propertyMains as $b){
    dd($b->company); // 返回空
}
$propertyMains = PropertyMain::where([])->orderBy('created_at', 'asc')->paginate(12);
foreach ($propertyMains as $b){
    dd($b->company); // 可以取到数据
}
我想大声告诉你我想大声告诉你2757 Tage vor430

Antworte allen(3)Ich werde antworten

  • 阿神

    阿神2017-05-16 16:49:12

    哎,belongToMany第二个参数是中间表吧,好像漏了

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:49:12

    外键写错了 mId -> companyId
    一对多的关系,PropertyMain 是属于 Company 的,在 PropertyMain 里存了 Company 的主键作为外键,所以外键始终是 companyId

    public function propertyMain() {
        return $this->hasMany('App\Models\PropertyMain','companyId','mId');
    }

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-16 16:49:12

    return $this->hasMany('AppModelsProperty','companyId','mId');
    第二个参数是当前模型在关联模型里的外键

    Antwort
    0
  • StornierenAntwort