2017-08-14 8 views
0

Laravel Eloquentを使用してこの質問応答関係のモデルを1行に保存するにはどうすればよいですか?これは効率的にこの関係を保存する方法ことが可能でない場合は(純粋に雄弁ORMを使用して、コードの以下の行を使用して。)1行に複数の関係を保存することはできますか?Laravel eloquent

これは、これが答えモデル

ある

class Question extends Model 
{ 
    protected $fillable = ['name' ,'type']; 

    public $timestamps = true; 

    public function answers(){ 

     return $this->hasMany('App\Answer'); 
    } 
} 

質問モデルです

class Answer extends Model { protected $fillable = ['answer']; public $timestamps = true; public function question(){ return $this->belongsTo('App\Question'); } } 
+0

私は質問が何も得られない、BTW関数の答えは複数の答えに名前を変更する必要があります。 – Troyer

+0

ありがとうございました。 –

+0

@RehmanAkbarあなたが必要とするものについてもっと具体的にすることができます – chanafdo

答えて

1

回答を追加する前に、まず質問をする必要があります。

<?php 

// Create both question and answer in one go. 
Question::create(['name' => 'Who is my father?']) 
    ->answers() 
    ->create(['answer' => 'Darth Vader']); 

// If you already have a question and want to add a new answer. 
$lukesQuestion->answers()->create(['answer' => 'Darth Vader']); 

Eloquent relationsのマニュアルを参照してください。

0

これはEloquent ORMが動作する方法です。 Eloquentを利用したい場合、これらの関係関数を避けることはできません。

必要に応じてこれらのメソッドを定義する必要はありませんが、リレーションシップにEloquentの機能を使用することはできません。

最後に、これらのステートメントに必要なコードのサイズは、フレームワークではなく言語に関係します。

関連する問題