Для наших атрибутов Task у нас есть следующее: task_id в качестве первичного ключа, user_id, stage_id и project_id в качестве внешних ключей, завершено как логическое значение и описание. Наша цель - отобразить задачи в рамках проекта и, установив флажок рядом с ними, пометить их как выполненные. Проблема в нашей базе данных: статус «завершен» не изменяется. Мы используем PhpMyAdmin. У нас есть отдельный контроллер ProjectTasksController для обработки logi c и форма в нашем представлении show.blade. php для отправки запроса. Любая помощь будет принята с благодарностью.
image) }}">
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Task;
class ProjectTasksController extends Controller{
public function update(Task $task)
{
$task->update([
'completed' => request()->has('completed')
]);
return back();
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
protected $guarded = [];
protected $primarykey = ['task_id'];
protected $fillable = ['user_id','stage_id','project_id','completed','description'];
public function stage(){
return $this->belongsTo(Stage::class);
}
public function user(){
return $this->belongsTo(User::class);
}
public function project(){
return $this->belongsTo(Project::class);
}
}
{
_method: "PATCH",
_token: "ljiwu8bEtAkRqSUOXllmaRbSujavHNYNRJR5TMcy",
completed: "on"
}
Route::patch('/tasks/{task_id}', 'ProjectTasksController@update');