- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
I have problem with my laravel 5.1 error Object of class Illuminate\Database\Eloquent\Relations\HasMany could not be converted to string when i click delete
GalleryController.php
public function deleteGallery($id)
{
//load the gallery
$currentGallery = Gallery::findOrfail($id);
// check ownership
if ($currentGallery->created_by != Auth::user()->id) {
abort('403','You are not allowed to delete this gallery');
}
// get the images
$images = $currentGallery->images();
// delete the images
foreach ($currentGallery->$images as $image) {
unlink(public_path($image->file_path));
}
// delete the DB records
$currentGallery->images()->delete();
$currentGallery->delete();
return redirect()->back();
}
Route.php
Route::get('gallery/delete/{id}','GalleryController@deleteGallery');
Model Gallery.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Gallery extends Model
{
protected $table = 'gallery';
public function images()
{
return $this->hasMany('App\Image');
}
}
模型Image.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class image extends Model
{
protected $fillable = ['gallery_id', 'file_name', 'file_size', 'file_mime', 'file_path',
'created_by'];
public function gallery()
{
return $this->belongsTo('App\Gallery');
}
}
查看 gallery.blade.php
@extends('master')
@section('content')
<div class="row">
<div class="col-md-12">
<h1>My Gallery</h1>
</div>
</div>
<div class="row">
<div class="col-md-8">
@if ($galleries->count() > 0)
<table class="table table-striped table-bordered table-responsive">
<thead>
<tr class="info">
<th>Name of the gallery</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($galleries as $gallery)
<tr>
<td>{{$gallery->name}}
<span class="pull-right">
{{ $gallery->images()->count() }}
</span>
</td>
<td><a href="{{url('gallery/view/'.$gallery->id)}}">View</a> /
<a href="{{url('gallery/delete/'.$gallery->id)}}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif
</div>
<div class="col-md-4">
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form class="form" method="POST" action="{{url('gallery/save')}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<input type="text" name="gallery_name"
id="gallery_name" placeholder="Name of the gallery"
class="form-control"
value="{{ old('gallery_name')}}" />
</div>
<button class="btn btn-primary">Save</button>
</form>
</div>
</div>
@endsection
最佳答案
在图库 Controller 中,您不需要获取图像,因为您没有在其他任何地方使用该变量。因此删除行
// get the images
$images = $currentGallery->images();
只要让 foreach 为
// delete the images
foreach ($currentGallery->images as $image) {
unlink(public_path($image->file_path));
}
请注意使用$currentGallery->images
关于php - Laravel 5.1 类 Illuminate\Database\Eloquent\Relations\HasMany 的对象无法转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940769/
我正在使用 slim 框架开发一个 Restful 应用程序。我正在使用一个使用 illuminate 数据库的 session 管理器。它要求我使用 Laravel 的 illuminate 实例创
我为一个新项目创建了 Lumen 的全新安装,我正在尝试将 Redis 设置为缓存/ session 驱动程序。通过 Composer ,我能够毫无问题地安装 Predis,然后在尝试运行时: com
在我的独立(没有 Laravel)项目中,我想使用 Illuminate IoC 容器。我还想通过 illuminate/support 组件提供的 App facade 访问应用程序容器。我安装了这
我更新了 composer.json删除illuminate\html并添加: "require": { "laravelcollective/html": "5.1.*" 我从 app.ph
我知道这里有几个类似的问题,但没有一个能解决我的问题。 我正在尝试在 Ubuntu 14.04 上使用 Laravel 5 添加 HtmlServiceProvider。我不断收到以下错误: dl@d
Controller 代码: return redirect()->route('admin.patient.edit', $patientId); 测试代码: $this->visit(route(
我正在尝试开始使用 laravel php 框架。我试图调用索引文件,但收到此错误消息。 C:\xampp\php\php.exe C:\xampp\htdocs\tutorials\lara\app
我有一个使用 OAuth2 执行的 Facebook 登录,然后我使用 Laravel 4 的内置身份验证系统在重新访问时重新登录用户。对于大多数用户,我认为我所拥有的没有任何问题,但对于一位用户,他
我正在使用 smtp 协议(protocol)使用 mailtrap 发送邮件。它在本地主机中运行良好,但出现错误。 Symfony\Component\Debug\Exception\FatalTh
我对 Laravel 还很陌生,我正在尝试将用户创建的帖子添加到数据库中。但是当我这样做时,出现以下错误: Argument 1 passed to Illuminate\Database\Eloqu
我是 laravel 的初学者。我正在使用 guard 进行多重授权。我在我的管理员登录中遇到了这个问题:类型错误Illuminate\Auth\SessionGuard::login():参数 #1
题目地址:https://leetcode.com/problems/available-captures-for-rook/ 题目描述 Ona N x N grid of cells, each
我有一个网络应用程序可以在我的本地计算机上运行,但不能在我的服务器上运行。我在服务器上收到此错误。我检查了错误提到的代码,没有任何问题。 你知道是什么原因造成的吗? 非常感谢您。 这是我的错误信息
我正在我的服务器上安装一个 PHP 脚本作为测试,但我遇到了这个错误。我无法理解脚本代码有什么问题。 我在应用程序上启用 Debug模式并收到此错误消息: Call to undefined func
我尝试获取如下数据数组: $coupons = $user->coupons::where('is_activated_flg', 1)->where('is_used_flg', 0)->lists
我正在将我的 Laravel 从 5.2 升级到 5.3,并且已经阅读了 https://laravel.com/docs/5.3/upgrade 上的文档。 ,但我在运行我的应用程序时仍然收到此消息
Ive Laravel队列正在运行,但是在数据库连接上,这是配置: 'database' => [ 'driver' => 'database', 'connection' => 'm
登录后,我一直在尝试在用户模型中执行方法。据我了解,您执行了以下操作:Auth::user()->foo(); 由于某种原因,这不起作用。 代码 User.php '[email protected
登录后,我一直在尝试在用户模型中执行方法。据我了解,您执行了以下操作:Auth::user()->foo(); 由于某种原因,这不起作用。 代码 User.php '[email protected
我将 Laravel 站点部署到 cPanel 共享主机,并将我的数据库迁移到主机的数据库。当我尝试通过登录密码进入网站时,错误是: Symfony \ Component \ Debug \ Exc
我是一名优秀的程序员,十分优秀!