0

次の 10 月の CMS プラグイン モデルがあるとします。

Schema::create('iaff106_cellphone_cellphones', function($table){
    $table->engine = 'InnoDB';
    $table->increments('id');
    $table->integer('user_id')->unsigned()->nullable()->index();
    $table->string('label');
    $table->string('phone')->nullable()->index();
    $table->integer('provider_id')->nullable();            
    $table->boolean('is_txtable')->default(true);
    $table->boolean('is_published')->default(false);
    $table->timestamps();
    });


Schema::create('iaff106_cellphone_providers', function($table){
    $table->engine = 'InnoDB';
    $table->increments('id');
    $table->string('name');
    $table->string('slug')->index();
    $table->string('mail_domain')->nullable();
    $table->timestamps();
    }); 

プロバイダーとの関係:

public $belongsToMany = ['IAFF106\CellPhone\Models\Cellphone', 'foreignKey' => 'provider_id'];

携帯電話の関係:

public $hasOne = ['IAFF106\CellPhone\Models\Provider'];

「電話」と「名前」フィールドを取得するために、携帯電話と関連するサービス プロバイダーを選択したいと考えています。

私のコンポーネントで試しました:

public function onRun()
{
    $this->cellphone = $this->page['cellphone'] = $this->loadCell();
}

protected function loadCell()
{
    $slug = $this->propertyOrParam('idParam');
    $cellphone = Cellphone::isPublished()->where('id', '=', $slug)->first();
    $this->provider = $this->page['provider'] = $cellphone->provider;

    return $cellphone;
}

$this->cellphone には必要な電話データがありますが、プロバイダーの「名前」情報にアクセスする方法がわかりません。

ビュー内の両方のモデルからデータを読み込んでアクセスするにはどうすればよいですか?

私は私の見解でこれを試しました:

<ul>
    <li>{{ cellphone.phone }}  {{ provider.name }} </li>
    <li>Try Again </li>
    <li>{{ cellphone.phone }}  {{ cellphone.provider.name }} </li>
</ul>

{{ cellphone.phone }} は正常に表示されますが、プロバイダー名を取得できません。

4

2 に答える 2