标签: laravel-4

Laravel Eloquent groupBy()AND也返回每组的计数

我有一个表,其中包含一列浏览器版本.我只是想从记录集中了解每种类型的浏览器有多少.所以,我需要最终得到这样的结果:总记录:10; Internet Explorer 8:2; Chrome 25:4; Firefox 20:4.(所有加起来都是10)

这是我的两便士:

$user_info = Usermeta::groupBy('browser')->get();
Run Code Online (Sandbox Code Playgroud)

当然,它只包含3个浏览器,而不是每个浏览器的数量.我怎样才能做到这一点?

laravel eloquent laravel-4

82
推荐指数
7
解决办法
23万
查看次数

作曲家在更新时被杀死

我遇到了问题,我试图在我的laravel 4项目中安装一个新包.但是当我跑步时,php composer.phar update我得到了这个:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
Run Code Online (Sandbox Code Playgroud)

我在互联网上找了问题,看到内存是问题,我想我没有足够的RAM可用,我已经检查了这个我有大约411mb免费.作曲家真的需要更多的内存吗?有谁可以帮助我吗?

谢谢

php laravel composer-php laravel-4

81
推荐指数
8
解决办法
7万
查看次数

如何删除URL生成的Laravel中的"public/index.php"?

我需要删除 index.phppublic/index.php从Laravel生成的URL; 通常的道路是localhost/public/index.php/someWordForRoute,应该是这样的localhost/someWordForRoute.

的.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)

应用程序/配置/ app.php

'url' => 'http://localhost',
Run Code Online (Sandbox Code Playgroud)

我怎么能改变呢?

php .htaccess laravel laravel-4 laravel-routing

81
推荐指数
8
解决办法
18万
查看次数

在Eloquent中更改默认主键

我可以更改Eloquent模型主键.

我想设置主键admin_id而不是'id'?

我知道我可以改变模型的表名

protected $table = "admin";
Run Code Online (Sandbox Code Playgroud)

主键有类似的东西吗?

eloquent laravel-4

79
推荐指数
4
解决办法
8万
查看次数

Laravel Controller子文件夹路由

我是Laravel的新手.为了尝试保持我的应用程序井井有条,我想将我的控制器放入控制器文件夹的子文件夹中.

controllers\
---- folder1
---- folder2
Run Code Online (Sandbox Code Playgroud)

我试图路由到控制器,但laravel找不到它.

Route::get('/product/dashboard', 'folder1.MakeDashboardController@showDashboard');
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

laravel laravel-4 laravel-routing

76
推荐指数
11
解决办法
10万
查看次数

Laravel保存/更新多对多的关系

任何人都可以帮助我如何保存多对多的关系?我有任务,用户可以有很多任务,任务可以有很多用户(多对多),我想要实现的是在更新表单管理员可以为多个用户分配特定任务.这是通过html多选输入完成的

name="taskParticipants[]"
Run Code Online (Sandbox Code Playgroud)

这里的问题是,通过相同的形式(输入),您可以添加/删除用户,这就是我必须使用sync()的原因.也许我应该从头开始但不知道从哪里开始......

这是我的用户模型:

public function tasks()
{
    return $this->belongsToMany('Task','user_tasks');
}
Run Code Online (Sandbox Code Playgroud)

任务模型

public function taskParticipants()
{
    return $this->belongsToMany('User','user_tasks');
}
Run Code Online (Sandbox Code Playgroud)

TaskController

public function update($task_id)
{
    if (Input::has('taskParticipants'))
    {
        foreach(Input::get('taskParticipants') as $worker)
        {
            $task2 = $task->taskParticipants->toArray();
            $task2 = array_add($task2,$task_id,$worker);
            $task->taskParticipants()->sync(array($task2));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是表 任务id | title |截止日期的结构

user_tasks
id|task_id|user_id
Run Code Online (Sandbox Code Playgroud)

relationship laravel eloquent laravel-4

74
推荐指数
2
解决办法
7万
查看次数

Laravel:在哪里存储全局数组数据和常量?

我刚开始和Laravel合作.我需要重写几年前制作的整个系统,使用Laravel 4作为基础框架.在我的旧系统中,我使用一个带有一些常量声明的constant.php文件,以及一个包含大量数组的globals.php文件(例如,类别状态,事件类型,lang等).通过这样做,我可以使用类似的东西

foreach ( $langs as $code => $domain ) {
    // Some stuff
}
Run Code Online (Sandbox Code Playgroud)

我应用中的任何地方.

我的问题是,如何以所谓的"laravel方式"存储该信息.我尝试使用某种对象来存储此信息,将其设置为服务并为其创建一个外观:

应用程序/库/项目/ Constants.php

namespace PJ;

class Constants {

    public static $langs = [
            'es' => 'www.domain.es',
            'en' => 'www.domain.us',
            'uk' => 'www.domain.uk',
            'br' => 'www.domain.br',
            'it' => 'www.domain.it',
            'de' => 'www.domain.de',
            'fr' => 'www.domain.fr'
        ];

}
Run Code Online (Sandbox Code Playgroud)

应用程序/库/项目/ ConstantsServiceProvider.php

namespace PJ;

use Illuminate\Support\ServiceProvider;

class ConstantsServiceProvider extends ServiceProvider {
    public function register() {
        $this->app->singleton('PJConstants', function() {
            return new Constants;
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序/库/项目/ ConstantsFacade.php

namespace PJ; …
Run Code Online (Sandbox Code Playgroud)

php global-state laravel laravel-4

74
推荐指数
5
解决办法
7万
查看次数

使用查询生成器或Eloquent加入附加条件

我正在尝试使用Laravel查询生成器的JOIN查询添加条件.

<?php

$results = DB::select('
       SELECT DISTINCT 
          *
          FROM 
             rooms 
                LEFT JOIN bookings  
                   ON rooms.id = bookings.room_type_id
                  AND (  bookings.arrival between ? and ?
                      OR bookings.departure between ? and ? )
          WHERE
                bookings.room_type_id IS NULL
          LIMIT 20',
    array('2012-05-01', '2012-05-10', '2012-05-01', '2012-05-10')
);
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用Raw表达式,但之后会有SQL注入点.我已经尝试了以下查询生成器,但生成的查询(显然,查询结果)不是我想要的:

$results = DB::table('rooms')
    ->distinct()
    ->leftJoin('bookings', function ($join) {
        $join->on('rooms.id', '=', 'bookings.room_type_id');
    })
    ->whereBetween('arrival', array('2012-05-01', '2012-05-10'))
    ->whereBetween('departure', array('2012-05-01', '2012-05-10'))
    ->where('bookings.room_type_id', '=', null)
    ->get();
Run Code Online (Sandbox Code Playgroud)

这是Laravel生成的查询:

select distinct * from `room_type_info`
    left join `bookings` 
on `room_type_info`.`id` = `bookings`.`room_type_id` …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-4 laravel-query-builder

72
推荐指数
6
解决办法
12万
查看次数

Laravel 4:如何运行原始SQL?

我想在Laravel 4中重命名一个表,但不知道该怎么做.

SQL是alter table photos rename to images.如果有一个Eloquent解决方案,我也想知道如何运行原始SQL,因为有时候别无选择.

laravel laravel-4

70
推荐指数
5
解决办法
14万
查看次数

如何使用Laravel的Blade模板将变量传递给布局?

在Laravel 4中,我的控制器使用Blade布局:

class PagesController extends BaseController {
    protected $layout = 'layouts.master';
}
Run Code Online (Sandbox Code Playgroud)

主布局输出变量标题,然后显示视图:

...
<title>{{ $title }}</title>
...
@yield('content')
....
Run Code Online (Sandbox Code Playgroud)

但是,在我的控制器中,我似乎只能将变量传递给子视图,而不是布局.例如,一个动作可能是:

public function index()
{
    $this->layout->content = View::make('pages/index', array('title' => 'Home page'));
}
Run Code Online (Sandbox Code Playgroud)

这只会将$title变量传递给视图的内容部分.如何将变量提供给整个视图,或者至少是主布局?

laravel blade laravel-4

69
推荐指数
5
解决办法
9万
查看次数