В вашем контроллере у вас есть функция для возврата представления.
Измените его на ->with()
, чтобы вы могли получить доступ к классам в представлении:
// if the controller is not for the classes, add this up top:
use App\Classs; // include model name
$classs = Classs:all();
return view('yourView')->with('classe', $classs);
Затемпо вашему мнению, вы можете просто сделать это:
<div class="form-group">
<label for="cid">Class</label>
<select class="" name="cid">
<option value="null">Class</option>
@foreach($classs as $class)
<option value="{{$class->id}}">{{$class->title}}</option>
@endforeach
</select>
</div>
Он перебирает все классы в вашей базе данных и создает для них элемент <option>
.Рассматривая вашу первую миграцию, вы используете идентификатор в другой таблице, поэтому вам нужно установить его в качестве значения.
Измените свою функцию индекса следующим образом:
public function index()
{
$sections = Section::all();
$classs = Class::all();
return view('sections.index')->with('sections', $sections)->with('classs', $classs);
}
Можете ли вы сказать мне, где я могу написать условия, такие как select * from class, где role_id = 2 и т. Д.
В принципе, в рамках MVC вы выполняете все свои запросыв вашем контроллере и передайте данные в представление, в котором вы отображаете данные.
Laravel имеет класс БД , который вы можете использовать для основных запросов:
select * from class where role_id = 2
Стало бы это в Laravel, используя класс DB.
DB::table('class')->where('role_id', 2)->get();
// or if it's a model:
Model::where('role_id', 2)->get();