diff --git a/app/Http/Controllers/Resources/BidsController.php b/app/Http/Controllers/Resources/BidsController.php index 7dfe6af..a7beb87 100644 --- a/app/Http/Controllers/Resources/BidsController.php +++ b/app/Http/Controllers/Resources/BidsController.php @@ -82,8 +82,17 @@ public function index(Request $request, Task $task) return DB::select('select * from bids b, users u where b.task_id = ? and b.user_id = u.id', [$task->id]); } } - - + + public function maxprice(Task $task) + { + return DB::maxprice('SELECT MAX(price) FROM bids b, WHERE b.task_title = $task.task_title'); + } + + public function countbids(Task $task) + { + return DB::countbids('SELECT COUNT(bid) FROM tasks t, WHERE t.task_title = $task.task_title'); + } + /** * Update the selected field of the bid, whether is it true or false. * diff --git a/app/Http/Controllers/Resources/TasksController.php b/app/Http/Controllers/Resources/TasksController.php index 38699a1..d20aef8 100644 --- a/app/Http/Controllers/Resources/TasksController.php +++ b/app/Http/Controllers/Resources/TasksController.php @@ -75,7 +75,17 @@ public function edit(Task $task) $generic_tasks = (object)DB::select("select * from generic_tasks"); return view('tasks.edit', compact('task', 'generic_tasks')); } - + + public function search($query) + { + $tasks = (object)DB::select("SELECT * FROM tasks WHERE (title LIKE '%query%' OR start_date LIKE '%query%' OR end_date LIKE '%query%' OR created_at LIKE '%query%' OR category LIKE '%query%')"; + + //SELECT * FROM projectitem WHERE (description LIKE '%$keywords%' OR item LIKE '%$keywords%')"; + //$tasks = Task::where('title','LIKE', "%$query%")->get(); + //->orWhere('created_at','=', "$query")->orWhere('category','LIKE',"%$query%")->orWhere('start_date','=',"$query")->orWhere('end_date','=',"%$query%")->get(); + + return view('tasks.search')->withDetails($tasks)->withQuery($query); + } /* |-------------------------------------------------------------------------- | Resource Methods diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 0a482d7..4dcbbb3 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -23,10 +23,16 @@ @if (sizeOf($tasks)>0)
| Title | Category | Start | End | +Max Bid Price | Status | @@ -36,6 +42,7 @@ | {{$task->category}} | {{$task->start_date}} | {{$task->end_date}} | +{{$task->max_bid_price}} |
@php
switch($task->status) {
diff --git a/resources/views/tasks/search.blade.php b/resources/views/tasks/search.blade.php
new file mode 100644
index 0000000..7f5b57c
--- /dev/null
+++ b/resources/views/tasks/search.blade.php
@@ -0,0 +1,39 @@
+@extends('layouts.app')
+
+
+@section('content')
+
+
+ @if(count($details) > 0)
+
+
+
+
+@endsection
diff --git a/routes/web.php b/routes/web.php
index b819e99..3e66179 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -24,11 +24,15 @@
Route::get('/tasks/{task}/edit', 'Resources\TasksController@edit');
// this should be a post or a patch but Laravel gives a MethodNotAllowed error if it is anything but get
Route::get('/tasks/{task}/status/{status}', 'Resources\TasksController@updateStatus')->name('tasks.updateStatus');
-
+ Route::any('/tasks/search/{query}','Resources\TasksController@search');
+
Route::post('tasks/{task}/bids/{bid}/{selected}', 'Resources\BidsController@update')->name('bid.update');
Route::post('/tasks/{task}/bids', 'Resources\BidsController@store');
Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update');
Route::delete('/bids/{bid}', 'Resources\BidsController@destroy')->name('bid.destroy');
+ Route::any('/tasks/maxprice', 'Resources\BidsController@findmax');
+ Route::any('/tasks/countbids', 'Resources\BidsController@countbids');
+
Route::delete('/users/{user}', 'Resources\UsersController@destroy')->name('user.destroy');
Route::post('/users', 'Resources\UsersController@store');
The Search results for your query {{ $query }} are : +Task details+
|
|---|