【发布时间】:2022-06-10 23:23:59
【问题描述】:
AppointmentController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Appointment;
use App\Models\Time;
class AppointmentController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.appointment.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$appointment = Appointment::create([
'user_id'=> auth()->user()->id,
'date' => $request->date
]);
foreach($request->time as $time){
Time::create([
'appointment_id'=> $appointment->id,
'time'=> $time
]);
}
return redirect()->back()->with('message','Appointment created for'. $request->date);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Appointment.php 模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Appointment extends Model
{
use HasFactory;
protected $guarded = [];
}
create.blade.php
@extends('admin.layouts.master')
@section('content')
<div class="page-header">
<div class="row align-items-end">
<div class="col-lg-8">
<div class="page-header-title">
<i class="ik ik-edit bg-blue"></i>
<div class="d-inline">
<h5>Vets</h5>
<span>Select your desired appointment schedule</span>
</div>
</div>
</div>
<div class="col-lg-4">
<nav class="breadcrumb-container" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="../index.html"><i class="ik ik-home"></i></a>
</li>
<li class="breadcrumb-item"><a href="#">Vet</a></li>
<li class="breadcrumb-item active" aria-current="page">Appointment</li>
</ol>
</nav>
</div>
</div>
</div>
<div class="container">
@if(Session::has('message'))
<div class="alert alert-success">
{{Session::get('message')}}
</div>
@endif
<form action="{{route('appointment.store')}}" method="POST">
@csrf
<div class="card">
<div class="card-header">
Choose Date:
</div>
<div class="card-body">
<input type="text" class="form-control datetimepicker-input" id="datepicker" data-toggle="datetimepicker" data-target="#datepicker" name="date">
</div>
</div>
<div class="card">
<div class="card-header">
Choose AM Time:
</div>
<div class="card-body">
<table class="table table-striped">
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="time[]" value="8am">  8:00 AM</td>
<td><input type="checkbox" name="time[]" value="8.30am">  8:30 AM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="9am">  9:00 AM</td>
<td><input type="checkbox" name="time[]" value="9.30am">  9:30 AM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="10am">  10:00 AM</td>
<td><input type="checkbox" name="time[]" value="10.30am">  10:30 AM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="11am">  11:00 AM</td>
<td><input type="checkbox" name="time[]" value="11.30am">  11:30 AM</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-header">
Choose PM Time:
</div>
<div class="card-body">
<table class="table table-striped">
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="time[]" value="12pm">  12:00 PM</td>
<td><input type="checkbox" name="time[]" value="12.30pm">  12:30 PM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="1pm">  1:00 PM</td>
<td><input type="checkbox" name="time[]" value="1.30pm">  1:30 PM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="2pm">  2:00 PM</td>
<td><input type="checkbox" name="time[]" value="2.30pm">  2:30 PM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="3pm">  3:00 PM</td>
<td><input type="checkbox" name="time[]" value="3.30pm">  3:30 PM</td>
</tr>
<tr>
<td><input type="checkbox" name="time[]" value="4pm">  4:00 PM</td>
<td><input type="checkbox" name="time[]" value="4.30pm">  4:30 PM</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-body">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
@endsection
谁能指出我在哪里犯了错误?我只是尝试将数据添加到约会和时间表中。它一直在 AppointmentController.php 中的 ''user_id'=> auth()->user()->id,' 行突出显示错误
我已经尝试了几件事,但它不起作用。如果您需要更多代码,请告诉我。
【问题讨论】:
-
你能添加整个错误消息和 corospending 代码行吗?
-
auth()->user()->id仅在您通过身份验证后才有效。auth()->user()返回登录的User,如果是nobody,则为null,null->id无效。