Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте, помогите, пожалуйста, есть две таблицы: Questions, Answers. Суть такая, при создании вопроса, создаются сразу варианты ответов в обеих таблицах есть одинаковое поле srv_id, оно автоматически генерируется и пишется в вопросе и в вариантах ответов у нему. При попытке вывести всех вопросов с вариантами ответов на экран, выводятся только вопросы, ошибок не выдается, но и данные из answers не выводятся.
Модель Questtion:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Question extends Model
{
protected $table = 'questions';
public function answers(){
return $this->hasMany(Answer::class, 'srv_id');
}
}
Модель Answers:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Answer extends Model
{
protected $table = 'answers';
public function question(){
return $this->belongTo(Question::class, 'srv_id');
}
}
Контроллер:
class GetQuestionController extends Controller
{
public function all_Data(){
$questions = Question::with(['answers' => function($q) {
$q->orderBy('title','description');
}])->paginate();
return view('questions', ['questions' => $questions]);
}
}
Код вывода:
@foreach ($questions $question)
<div class="panel panel-default">
<div class="panel-heading">
{{ $question->title }}
</div>
<div class="panel-body">
@foreach ($question->answers $answer)
{{ $answer->title }}
<br>
{{ $answer->description }}
@endforeach
</div>
</div>
@endforeach
Вполне возможно, что я все в корне не правильно делаю, помогите разобраться, пожалуйста.
Изменено dldmyt (08.09.2020 07:24:06)
Не в сети
Вполне возможно, что я все в корне не правильно делаю, помогите разобраться, пожалуйста.
Вы бы показали структуру таблиц . Здесь скорее всего поможет выборка с Join наверное .
Не в сети
Все, спасибо, разобрался. В моделях прописал:
protected $primaryKey = 'srv_id';
Не в сети
Страницы 1