我正在研究 Laravel CRUD。Laravel Framework 是 6.18.15 我想选择一条记录并更新。
这是照片库。现在,如果我单击其中一张照片,我可以得到以下 URL
https://mywebsite.net/public/edit?id=59
但是在edit.blade.php中我得到了这个错误
未定义变量:id
有人可以教我正确的代码吗?
这些是当前代码
控制器已更新
public function edit(Request $request)
{
$images = ImageGallery::find($id);
return view('edit',compact('images'));
}
public function editpcs(Request $request)
{
$this->validate($request, [
'title' => 'required',
'image' => 'required|mimes:jpeg,jpg'
]);
$input['image'] = time().'.'.$request->image->getClientOriginalExtension();
if($request->hasFile('image')) {
$image = $request->file('image');
$filename = time().'.'.$request->image->getClientOriginalExtension();
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(1280, null, function ($image) {$image->aspectRatio();});
$image_resize->save(public_path('images/ServiceImages/' .$filename));
}
$request->image->move(public_path('images'), $input['image']);
$input['title'] = $request->title;
// ImageGallery::update($input);
$update = DB::table('image_gallery')->where('id', $id)->update( [ 'title' => $request->title, 'image' => $request->image]);
return view('edit',compact('images'))->with('sucess','sucessfully updated');
}
网页.php
//edit view
Route::get('edit', 'ImageGalleryController@edit');
Route::post('edit', 'ImageGalleryController@edit');
//edit procces
Route::get('editpcs', 'ImageGalleryController@editpcs');
Route::post('editpcs', 'ImageGalleryController@editpcs');
更新
@if($images->count())
@foreach($images as $image)
<div class='text-center'>
<small class='text-muted'>{{$image['id']}}/ {{$image['title']}} </small>
</div>
@endforeach
@endif
模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class ImageGallery extends Model
{
protected $table = 'image_gallery';
protected $fillable = ['title', 'image'];
}