php 如何解决infyom自动生成关系表

3bygqnnd  于 2023-09-29  发布在  PHP
关注(0)|答案(2)|浏览(124)

我尝试使用infyom从关系对象数据库的表中使用scaffold,但我不能像POO中那样操作对象,因为生成的模型只包含其他对象的id!有没有办法正确操作物体?
生成的模型是这样的:

<?php

namespace App\Models;

use Eloquent as Model;

/**
 * Class Facture
 * @package App\Models
 * @version July 17, 2018, 6:08 pm UTC
 *
 * @property \Illuminate\Database\Eloquent\Collection Consomme
 * @property \Illuminate\Database\Eloquent\Collection contient
 * @property \Illuminate\Database\Eloquent\Collection EstFactureBst
 * @property \App\Models\EstFacture estFacture
 * @property string num_facture
 * @property date date_facture
 * @property string etat_facture
 * @property integer num_releve
 */
class personnel extends Model
{

    public $table = 'personnel';

    public $timestamps = false;
    public $sousPersonnel;

    protected $primaryKey = 'id_pers';

    public $fillable = [
        'id_pers',
        'lib_pers'
    ];

    /**
     * The attributes that should be casted to native types.
     *
     * @var array
     */
    protected $casts = [
        'lib_pers' => 'string'
    ];

    /**
     * Validation rules
     *
     * @var array
     */
    public static $rules = [

    ];

    public function SousPersonnel(){
        return $this->hasMany(\App\Models\TypePersonne::class);
    }
}

在我的类personnel和TypePErsonne之间有一个关系,但是当我想写像$personnel->typePersonne并使dd为null时,我使用Eloquent ORM,似乎他们无法为我的对象$personnel找到typePersonne

hiz5n14c

hiz5n14c1#

你已经在名为SousPersonnel()的方法中定义了关系,所以要读取它,你应该像这样使用SousPersonnel属性:

$personnel->SousPersonnel
hvvq6cgz

hvvq6cgz2#

由于id不遵循Laravel标准,我必须在类后面的关系中添加id

public function SousPersonnel(){
   return $this->hasMany(\App\Models\TypePersonne::class, 'sous_pers_id');
}

相关问题