小编Lau*_*nce的帖子

如何更改 Laravel 4 中输出日期的时区?

entity我有一个带有表和表的数据库users。实体表具有created_at和 的字段updated_at。users 表有一个timezone默认值为 的字段America/Toronto

在我看来,我可以使用以下代码以我想要的格式输出日期:

$entity->created_at->format('M j, Y \\a\\t g:i A')
Run Code Online (Sandbox Code Playgroud)

现在,如何使用用户表中的时区字段输出日期?就像是 ...

$entity->created_at->format('M j, Y \\a\\t g:i A', Auth::user()->timezone);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用Carbon执行此操作的简单方法(因为我在 Laravel 中使用 Eloquent,它将把上面的日期列转换为 Carbon 的实例)。

注意:我只希望在显示日期时更改时区 - 我仍然希望所有日期都存储在数据库中的默认 UTC 时区中。

另外,我在哪里可以找到可用于 Carbon 的有效时区列表?我想将这些存储在我的数据库中,以便用户可以更改他们的默认时区。

timezone laravel-4 php-carbon

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

php组合数组 - 关节上添加值

我如何组合这两个数组,以便键保持不变,但值是由算术确定的?

注意 - 根据我的示例,每个数组中的键可能并不总是对齐:

$Array1 = ([4] => 100, [5] => 200, [6] => 100, [7] => 400 );
$Array2 = ([2] => 300, [5] => -100,  [16] => -500, );
Run Code Online (Sandbox Code Playgroud)

期望的输出:

$Array3 = ([2] => 300, [4] => 100, [5] => 100, [6] => 100, [7] => 400, [16] => -500);
Run Code Online (Sandbox Code Playgroud)

编辑:改进数组以突出"foreach"无法工作的原因

php arrays

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

Laravel部分没有出现

我将按照一些关于Laravel 3的教程,知道,我有一个问题,一个:

@section('post_navigation')
@if(Auth::check())
    @include('plugins.loggedin_postnav')
@endif
@endsection
Run Code Online (Sandbox Code Playgroud)

为什么这部分没有出现?

我尝试删除部分中的所有内容,例如;

@section('post_navigation')
    <h1>Test</h1>
@endsection
Run Code Online (Sandbox Code Playgroud)

但是不起作用.

完整的代码是:

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            {{ HTML::link('/', 'Instapics', array('class' => 'brand')); }}

            <div class="nav-collapse">
                <ul class="nav">
                    @section('navigation')
                        <li class="active">{{ HTML::link('/', 'Home') }}</li>
                    @yield_section
                </ul>
            </div>

            @section('post_navigation')
            @if(Auth::check())
                @include('plugins.loggedin_postnav')
            @endif
            @endsection

        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)


[编辑]
我将@endsection更改为@yield_section,然后工作,但是,我仍然不明白,例如(在User_Controller索引视图中):

@section('post_navigation')
    @parent
@endsection
Run Code Online (Sandbox Code Playgroud)

为什么不出现包含?

为什么我需要将endsection更改为yield_section

php laravel laravel-3

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

PHP Laravel扩展了资源路由

Laravel路由功能允许您命名资源并命名控制器以配合它.我是Laravel的新手,想知道是否有人知道如何在提供的路由类中扩展资源方法.

基本上说我有:(哪个工作正常)

/invoices
Run Code Online (Sandbox Code Playgroud)

但是说我想要:

/invoices/status/unpaid
Run Code Online (Sandbox Code Playgroud)

这怎么可以实现?

要查看我正在做的基础知识,请查看:http: //laravel.com/docs/controllers#resource-controllers

php laravel laravel-4

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

Hostgator上的Laravel 4内部服务器错误500

我在共享的Hostgator服务器上部署了一个Laravel 4应用程序.

当我导航到:

http://mydomain.com/laravel/public/
Run Code Online (Sandbox Code Playgroud)

我可以看到Laravel闪屏.

但是当我尝试访问任何其他途径时,比如,/ users或/ posts我得到了

Internal Server Error 500

http://mydomain.com/laravel/public/posts
Run Code Online (Sandbox Code Playgroud)

控制器:

public function index()
    {
        $posts = $this->post->all();

        return View::make('posts.index', compact('posts'));
    }
Run Code Online (Sandbox Code Playgroud)

在Routes.php中:

Route::resource('posts', 'PostsController');
Run Code Online (Sandbox Code Playgroud)

我使用Jeffrey Way的Generator来支撑帖子实体.

这在我的本地机器上工作正常.控制器不包含任何逻辑,它们只输出获取的数据.

错误日志为空.

任何想法要检查什么?.htaccess,也许?这是我在那里:

AddType application/x-httpd-php53 .php
<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

.htaccess internal-server-error laravel laravel-4

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

Laravel验证不起作用,总是失败

我正在尝试为我的表单进行后端验证,但它不起作用.即使我提交了值,它也总是显示验证失败.

$validation = Validator::make(Input::all(), array(
    array('email' => 'required'),
    array('password' => 'required')
));

if ($validation->fails()) { // This is always failing
    echo '<pre>';
    print_r(Input::all());
    die();
}

die('everything is OK!');
Run Code Online (Sandbox Code Playgroud)

产量

Array
(
    [_token] => ZnzZ2aDoTABIZZkvwxZoa7IjHkvK25ndibis5AbA
    [email] => somedata
    [password] => somemoredata
)
Run Code Online (Sandbox Code Playgroud)

你可以看到它甚至失败了,它清楚地表明了Input:all()这些值的设定.

php validation laravel laravel-4

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

有没有办法判断这个对象是否是一个雄辩的对象?

我正在尝试将转换数组推广到json中,当我在混音中加入雄辩的模型时,它会变得有些混乱.

有没有办法判断这个对象是否是一个雄辩的对象?

像isEloquent()函数一样.

laravel

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

Laravel 4 Sentry 2身份验证检查不使用`catch`?

假设我有这个代码用于Sentry身份验证:

try {
            $credentials = array(
                'email'    => Input::get('email'),
                'password' => Input::get('password'),
            );

            $user = Sentry::authenticate($credentials, false);

        }
        catch (Cartalyst\Sentry\Users\LoginRequiredException $e) {
            echo 'Login field is required.';
        }
        catch (Cartalyst\Sentry\Users\PasswordRequiredException $e) {
            echo 'Password field is required.';
        }
        catch (Cartalyst\Sentry\Users\WrongPasswordException $e) {
            echo 'Wrong password, try again.';
        }
        catch (Cartalyst\Sentry\Users\UserNotFoundException $e) {
            echo 'User was not found.';
        }
        catch (Cartalyst\Sentry\Users\UserNotActivatedException $e) {
            echo 'User is not activated.';
        }
Run Code Online (Sandbox Code Playgroud)

我想尝试删除所有trycatch(我有我的理由,它是多级身份验证,我试图缩短我的代码).所以我试着检查验证是否失败:

$credentials = array(
                'email'    => …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-4 cartalyst-sentry

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

动态选择控制器

我正在为一个有很多类似路线的应用编写路由,我想保持DRY,所以我想根据URL的一部分选择控制器,但似乎没有办法与Laravel一起做这件事.

这不起作用,因为$report_slug它不可用.

Route::get('/ad-reports/{report_slug}', array('uses' => Str::title($report_slug).'Controller@showHome'));
Run Code Online (Sandbox Code Playgroud)

如果我使用一个我可以访问的闭包$report_slug,但我找不到任何替换内容的文档return,所以这将返回控制器和操作的文本,但显然我想使用该操作.

Route::get('/ad-reports/{report_slug}', function($report_slug) {
   return (Str::title($report_slug).'Controller@showHome');
});
Run Code Online (Sandbox Code Playgroud)

如何根据report_slug?指定控制器?

laravel laravel-4

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

方括号上的Laravel工匠迁移错误

我正在尝试通过Laravel的迁移文件生成我的数据库,但是当我尝试这样做时,我收到以下错误:

PHP Parse error:  syntax error, unexpected '[', expecting ')' in D:\wamp24\www\laravel\app\controllers\SomeController.php
Run Code Online (Sandbox Code Playgroud)

这让我发疯,我可以在我的控制器中注释掉代码时运行迁移文件,但我不能继续这样做.

我也不想重写我的所有代码,因为我几乎每次声明一个数组时都使用方括号(使用方括号比输入'array(〜)'快很多...)

我在wampserver(2.4)上使用PHP 5.3.13,在Win 8.1上使用apache 2.2.22.

Laravel Framework版本4.0.10.

给出错误的代码如下:

class SomeController extends BaseController {
    public function someFunc() {
        $var= Model::create([
            'title' => Input::get('title'),
            'description' => Input::get('description'),
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

谁知道这个错误的解决方案?

php database-migration laravel laravel-4

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

要求的网址未找到laravel 4

我正在尝试使用laravel 4创建一个应用程序,但我正面临一个网址问题.我已经在我的机器上安装了wamp.我使用此代码在我的httpd-vhost.conf中设置了一个新的虚拟主机

<VirtualHost mobile.dev>  
DocumentRoot "C:\wamp\www\mobile.dev\public"
ServerName mobile.dev

<Directory "C:\wamp\www\mobile.dev">
    Options FollowSymLinks Indexes
    AllowOverride All                  
    Order deny,allow
    Allow from 127.0.0.1
    Deny from all
    Require all granted     
</Directory>
Run Code Online (Sandbox Code Playgroud)

mobile.dev是一个文件夹,也是我localhost中的域名.这是我的Route.php文件

Route::get('/','HomeController@showWelcome');


Route::post('login','LoginController@userLogin');

Route::get('login','LoginController@getUsers');
Run Code Online (Sandbox Code Playgroud)

当我要求mobile.dev/login它给我请求的网址没有找到.你可以帮我解决这个问题.但是当我要求mobile.dev /它的工作.

这是我的.htaccess文件:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

这是更多细节.当我删除我的htaccess内容一切正常与默认网址http://mobile.dev/index.php/login 所以问题是在我的htaccess和我的虚拟主机重写

php apache .htaccess laravel-4

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

Laravel 作为链接重定向回来

我们通常Redirect::back()在控制器内部使用重定向到上次访问的页面,但是,是否有 Laravel 函数可以在视图中用作链接?

php laravel-4

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