php - Laravel 删除文件

标签 php laravel laravel-5 eloquent laravel-blade

我正在我的应用程序中构建一个上传页面。但是如何 我可以在 Laravel 中删除文件吗?

我的观点是这样的:

<a href="{!! action('AdminTicketsController@deleteTicket',$ticket->id,$ticket->image) !!}" class="btn btn-dark">Remove ticket</a>

$ticket->image我给出了票证的所有路径。这是我收到发布请求的路线:

Route::post('admin/ticket/remove','AdminTicketsController@deleteTicket');

但当我死去并倾倒时$request->image在我的 Controller 中,我没有看到该票证的路径?

这样做的正确方法是什么?

编辑:

当我说:

<a href="{!! action('AdminTicketsController@deleteTicket',['id' => $ticket->id, 'image' => $ticket->image()->path ]) !!}" class="btn btn-dark">Remove ticket</a>

它告诉我:

Undefined property: Illuminate\Database\Eloquent\Relations\HasMany::$path (View:/home/vagrant/Code/support/local/resources/views/admin/ticket.blade.php)

在我的门票模型中,我说:

public function image()
{
    return $this->hasMany('App\image');
}

在我的图像模型中:

 public function ticket()
 {
    return $this->belongsTo('App\ticket');
 }

数据库:

TICKET
 ticketid
 ticketname
IMAGE
 imageid
 ticket_ticketid
 path

最佳答案

您可以将参数作为第二个数组参数传递给 action 函数:

<a href="{!! action('AdminTicketsController@deleteTicket',['id' => $ticket->id, 'image' => $ticket->image ]) !!}" class="btn btn-dark">Remove ticket</a>

在 Controller 中:

public function deleteTicket(Request $request, $id, $image)
{
    //use ticket_image
}

编辑

我建议不要将图像路径作为参数传递:仅传递工单 ID,然后从工单模型中检索 Controller 中的路径。 对于错误,您应该确保您的关系设置正确

编辑 2

你没有正确指定你的关系:只要你不对表的字段名称使用 laravel 约定,你就必须在你的关系中指定外键和主键:

门票

public function images()
{
    return $this->hasMany('App\image', 'ticket_ticketid', 'ticketid' );
}

图片

public function ticket()
{
    return $this->belongsTo('App\ticket', 'ticket_ticketid', 'ticketid');
}

一旦你构建了一个 $ticket 模型,你就可以通过以下方式检索图像:

$images = $ticket->images();

或者:

$images = Ticket::find($ticket_id)->images();

关于php - Laravel 删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637793/

相关文章:

php - 如何在Wordpress中删除二十四主题中的大写

postgresql - Laravel 5 找不到驱动程序 Postgresql

php - 使用 laravel 时 stripe-php 和 stripe-cartalyst API 之间的区别

php - 扩展 Laravel 5 的 Response Facade 以包含更多帮助程序?

php - 如何存储事件的多个日期范围?

php - TinyMCE 图像管理器的错误路径

php - 使用 Laravel Eloquent 更新具有复合键的表

Laravel Auth 因重复的用户电子邮件而失败

database - 如何设计数据库以存储 "default"项

PHP 5.0 : Call to undefined function mysql_connect()