小编Pet*_*ete的帖子

如何在Laravel注销后留在同一页面

正如问题标题所示,我想知道如何设置我的网站,以便用户在注销后保持在同一页面上.特别是,我想知道Laravel是否提供了这样做的语法.我希望在Laravel中使用最佳实践.

例如:

登录链接显示在每个页面的顶部.Bob已登录并正在查看"关于"页面.Bob点击"退出".Bob已注销并重定向回about页面.

我认为这是一个很好的方法,因为auth过滤器可以确定页面是否受到保护并相应地重定向.

如果你认为从可用性的角度来看这是不好的做法,我也很感兴趣.我见过的大多数示例都将注销功能重定向到主页.有什么理由不留在同一页面上吗?

php login laravel

2
推荐指数
1
解决办法
1662
查看次数

模型在自身内部调用自己是不好的做法吗?

这是一个例子,在Laravel中使用Eloquent.

假设我正在使用CMS.

  • 控制器采用路线并通过路线查找页面.
  • 该模型提供了一个静态函数,该函数使用该路径来计算它正在寻找的行的id
  • 然后,模型使用自身执行数据库查询并返回结果

示例控制器代码:

Route::get('(.*)', function($route)
{
    $page = Page::load_by_route($route);
});
Run Code Online (Sandbox Code Playgroud)

示例代码:

class Page extends Eloquent {

    public static function load_by_route($route)
    {
        // Explode the route and trace to find the actual id of the row we need.
        // ... some lines of code to accomplish it...

        // Use the $id we discovered to perform the actual query
        $page = Page::find($id)->first();

        return $page;
    }
}
Run Code Online (Sandbox Code Playgroud)

在你问"为什么你不能只使用Page :: where('route','=',$ route) - > first()之前:我不想知道'怎么做'这个例子.我只是想知道在页面模型中使用Page ::是否不好?

php laravel eloquent

1
推荐指数
1
解决办法
1917
查看次数

如果没有子查询,则为只有空帖的作者选择所有author_id

给出下表:

+----+-----------+---------+
| id | author_id | content |
+----+-----------+---------+
| 1  | 1         |         |
+----+-----------+---------+
| 2  | 2         |         |
+----+-----------+---------+
| 3  | 1         |         |
+----+-----------+---------+
| 4  | 2         | XYZ     |
+----+-----------+---------+
Run Code Online (Sandbox Code Playgroud)

如何选择author_id仅包含无内容的帖子而不使用子查询的的列表?在这种情况下,我想要一个只返回author_id1 的查询。

这行得通,但是我想知道是否有一种方法不必为了性能而使用子查询。

SELECT author_id
FROM my_table
WHERE author_id NOT IN (
    SELECT author_id FROM my_table WHERE content != ''
)
GROUP BY author_id
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴

mysql

1
推荐指数
1
解决办法
34
查看次数

找不到类'Silex\Provider\PDO'.怎么解决?

我正在使用Silex和Doctrine.在我需要bindValue获取LIMIT值之前,它对我来说非常有用.PDO的默认行为是在数字周围插入引号,这显然是不可行的.因此,解决方案是设置data_type参数.不幸的是,它抛出了一个错误.

我的守则

$start_num = 3;
$stmt = $app['db']->prepare('SELECT * FROM myTable LIMIT ?,10');
$stmt->bindValue(1, $start_num, PDO::PARAM_INT);
Run Code Online (Sandbox Code Playgroud)

错误

Fatal error: Class 'Silex\Provider\PDO' not found in ...
Run Code Online (Sandbox Code Playgroud)

我发现的关于这个问题的大多数答案都说这是PDO没有被编译/启用的明显迹象,但是我一直在使用Doctrine(它依赖于PDO?)成功一段时间没有问题.

这是Doctrine的问题吗?我的代码有问题吗?

mysql pdo doctrine symfony silex

0
推荐指数
1
解决办法
934
查看次数

标签 统计

laravel ×2

mysql ×2

php ×2

doctrine ×1

eloquent ×1

login ×1

pdo ×1

silex ×1

symfony ×1