0

我遇到了一个我无法真正解决的小问题。

我用 orm 为燃料 php 中的视频创建了一个删除功能,也许它有点愚蠢,但我真的不知道如何重新定向用户,如果和 id 不存在。

这是我的代码

public function action_delete($id)
    {

        $deletevideo = Model_Video::find($id);

        if($deletevideo->user_id != Session::get('sentry_user')):
            Session::set_flash('fail', 'The video you want to remove is not yours, we logged this activity');
            Response::redirect(Uri::base() . "myvideos");
        else:
            unlink(realpath("users/video/" . $deletevideo->video_preview));
            unlink(realpath("users/video/" . $deletevideo->video_file));
            $deletevideo->delete();
            Response::redirect(Uri::base() . "myvideos");
        endif;
    }

html

<a href="<?php echo Uri::base(); ?>video/delete/<?php echo $myvid->id; ?>" onclick = "if (! confirm('Are your sure you want to delete this video? <?php echo $myvid->video_title; ?>')) return false;" class="btn btn-danger">Delete</a>

我在一个论坛上看到人们谈论DB::expr实现这一目标,但可以找到任何关于它的例子。

请有人给我一个提示吗?

4

1 回答 1

0

这里有一些代码可以帮助你:

$video = Model_Video::find($id);

if ( ! $video instanceof Model_Video)
{
    Session::set_flash('fail', 'The video ID is not valid!');
    Response::redirect('go/somewhere/else');
}

在使用结果之前,您应该始终检查结果是否实际上是有效的 Model_Video。

于 2012-11-06T23:41:27.587 回答