0
一般的なORMの新機能で、ガイダンスを探しています。Laravel Eloquent ORM to pluck
私は3つのテーブルを持っていますが、自分のアンケートテーブルに属する質問テーブルからIDのリストを取得しようとしています。 ORMとpluckを使用できますが、最初のIDだけが返されます。下のクエリに対応するすべての質問IDを取得するにはどうすればよいですか?
ビューページでフォアグラウンドでページを表示すると、最初のIDが何度も表示されます。何か案は?回答コントローラ
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class answer extends Model
{
protected $fillable = [
'answer'
];
protected $table = 'answers';
public function survey(){
return $this->belongsTo(Survey::class);
}
public function question(){
return $this->belongsTo(Question::class);
}
}
質問コントローラー
$chart = Charts::database($answer->whereIn('question_id', $ball)->get(), 'bar', 'material')
->title("")
->colors(['#F5A623', '#A9D8D3'])
->elementLabel("Answers")
->dimensions(0, 250)
->groupBy('answer');
調査コントローラー
class Survey extends Model
{
protected $fillable = ['title', 'description', 'user_id'];
protected $dates = ['deleted_at'];
protected $table = 'surveys';
public function questions(){
return $this->hasMany(Question::class);
}
public function user(){
return $this->belongsTo(User::class);
}
public function answers(){
return $this->hasMany(Answer::class);
}
}
を供給するために使用される
$ball = $survey->questions->pluck('id');
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Question extends Model
{
protected $casts = [
'option_name' => 'array',
];
protected $fillable =['title', 'question_type', 'option_name', 'user_id'];
public function survey(){
return $this->belongsTo(Survey::class);
}
public function user(){
return $this->belongsTo(User::class);
}
public function answers(){
return $this->hasMany(Answer::class);
}
protected $table = 'questions';
}
ハイテクを可能にし、あなたの
Answer
にbelongsTo(Question::class)
を追加することができ、あなたは '$のsurvey'の記録のために多くの質問を持っています? – Marabocこのエラーは、プルーキングロジックには含まれていません。それは、IDの最初のインスタンスを返すだけの私のグラフのデータベースクエリです。 – MTL
はい、それは私が言ったことです、あなたが扱っている 'survey'がデータベースにたった1つの質問しか持っていないかもしれません! – Maraboc