I am trying to pull data from a different table into a select tag where the user can choose which program a certain course belongs to. I am getting an error of syntax error, unexpected '}', expecting ')' (View: C:xampphtdocsIRMSresourcesviewscoursescreate.blade.php). How can I achieve this so that when I click on the Add Course button, it will give me the form iI can select the program code from.?
My code below:
index.blade
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<p><a href="." class="btn btn-outline-dark">Go Back</a></p>
<div class="card">
<div class="card-header">Courses</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<p><a href="/home/courses/create" class="btn btn-success" role="button">Add Course</a></p>
@if (count($courses)> 0 )
<table class="table table-striped">
<tr>
<th></th>
<th>Program Code</th>
<th>Course Code</th>
<th>Course Name</th>
<th></th>
<th></th>
</tr>
@foreach ($courses as $course)
<tr>
<td></td>
<td>{{$course->program_code}}</td>
<td>{{$course->course_code}}</td>
<td>{{$course->course_name}}</td>
<td>Edit</td>
<td>Delete</td>
</tr>
@endforeach
</table>
@else
<p>No Courses found!</p>
@endif
</div>
</div>
</div>
</div>
</div>
@include('inc.sadmin-navbar')
@endsection
create blade
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<p><a href="." class="btn btn-outline-dark">Go Back</a></p>
<div class="card">
<div class="card-header">Add New Course</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
{!! Form::open(['action'=>'CoursesController@store', 'method'=>'POST']) !!}
<div class="form-group row justify-content-center">
{{Form::label('program_name', 'Program Name')}}
<div class="col-md-4">
@foreach ($programs as $program)
{{Form::select('{{$program->id}}', ['{{$program->program_code}}'], null, ['placeholder' => 'Pick Program'])}}
@endforeach
</div>
</div>
<div class="form-group row justify-content-center">
{{Form::submit('Add Program', ['class'=>'btn btn-success'])}}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@include('inc.sadmin-navbar')
@endsection
courses controller
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppCourse;
use AppProgram;
class CoursesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$courses = Course::all();
return view('courses.index')->with('courses', $courses);
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
$programs = Program::all();
return view('courses.create')->with('programs', $programs);
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param int $id
* @return IlluminateHttpResponse
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function destroy($id)
{
//
}
}
programs controller
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppProgram;
// use AppCSE;
class ProgramsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$programs = Program::all();
return view('programs.index')->with('programs', $programs);
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('programs.create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
$this->validate($request, [
'program_name' => 'required',
'program_code' => 'required'
]);
$program = new Program;
$program->program_name = $request->input('program_name');
$program->program_code = $request->input('program_code');
$program->save();
return redirect('home/programs');
}
/**
* Display the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function show($id)
{
$program = Program::find($id);
// $courses = CSE::all();
return view('programs.software.index')->with('program', $program);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function edit($id)
{
$program = Program::find($id);
return view('programs.edit')->with('program', $program);
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param int $id
* @return IlluminateHttpResponse
*/
public function update(Request $request, $id)
{
$this->validate($request, [
'program_name' => 'required',
'program_code' => 'required'
]);
$program = Program::find($id);
$program->program_name = $request->input('program_name');
$program->program_code = $request->input('program_code');
$program->save();
return redirect('home/programs');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function destroy($id)
{
$program = Program::find($id);
$program->delete();
return redirect('home/programs');
}
}
Advertisement
Answer
You can try this also
$programs = Program::all();
$select = [];
foreach($programs as $program){
$select[$program->id] = $program->program_code;
}
return view('programs.index', compact(['programs','select'));
{!! Form::select('program', $select, null, ['class'=>'form-control']) !!}
or
@foreach ($programs as $program)
{{Form::select($program->id, [$program->program_code], null, ['placeholder'=>'Pick Program'])}}
@endforeach