小编Jos*_*osh的帖子

Laravel 4:如何使用Eloquent ORM"排序"

简单的问题 - 如何通过Laravel 4中的'id'降序排序.

我的控制器的相关部分如下所示:

$posts = $this->post->all()
Run Code Online (Sandbox Code Playgroud)

据我了解你使用这一行:

->orderBy('id', 'DESC');
Run Code Online (Sandbox Code Playgroud)

但是这与我上面的代码有什么关系呢?

php laravel eloquent laravel-4

172
推荐指数
3
解决办法
31万
查看次数

Laravel:Auth :: user() - > id试图获取非对象的属性

当我提交表单添加用户时,我收到以下错误"试图获取非对象的属性",错误显然在第一行:Auth :: user() - >以下的id :

$id = Auth::user()->id;
$currentuser = User::find($id);
$usergroup = $currentuser->user_group;
$group = Sentry::getGroupProvider()->findById($usergroup);

$generatedPassword = $this->_generatePassword(8,8);
$user = Sentry::register(array('email' => $input['email'], 'password' => $generatedPassword, 'user_group' => $usergroup));

$user->addGroup($group);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我已经搜索了一段时间,我看到的一切都说这应该可以正常工作.我的用户使用Sentry 2身份验证包登录.

php authentication laravel laravel-4

68
推荐指数
12
解决办法
31万
查看次数

SCSS/SASS:如何使用逗号分隔它们来动态生成类列表

我正在使用SASS的SCSS语法创建一个动态网格系统,但我遇到了麻烦.

我试图使网格系统完全动态,如下所示:

$columns: 12;
Run Code Online (Sandbox Code Playgroud)

然后我创建这样的列:

@mixin col-x {
  @for $i from 1 through $columns {
  .col-#{$i} { width: $column-size * $i; }
  }
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

.col-1 {
    width: 4.16667%;
  }

.col-2 {
    width: 8.33333%;
}
etc...
Run Code Online (Sandbox Code Playgroud)

这很好但我接下来要做的是动态生成一个由逗号分隔的列类的长列表,基于所选的$列数 - 例如我希望它看起来像这样:

.col-1,
.col-2,
.col-3,
.col-4,
 etc... {
float: left;
}
Run Code Online (Sandbox Code Playgroud)

我累了这个:

@mixin col-x-list {
  @for $i from 1 through $columns - 1 {
  .col-#{$i}-m { float: left; }
  }
}
Run Code Online (Sandbox Code Playgroud)

但输出是这样的:

.col-1 {
  float: left;
}
.col-2 {
  float: left;
} …
Run Code Online (Sandbox Code Playgroud)

css styles sass stylesheet grid-system

55
推荐指数
3
解决办法
4万
查看次数

Laravel:如何使用where语句中的值填充刀片SELECT

我知道你可以将值发送到这样的select语句:

控制器:

$client = Client::lists('name', 'id');
return View::make('index', compact('client'));
Run Code Online (Sandbox Code Playgroud)

并在我的视图中填充这样:

视图:

{{ Form::select('client_id', $client, Input::old('client_id')) }}
Run Code Online (Sandbox Code Playgroud)

但是,如何仅填充group_id = 1的客户端中的记录.

我试过了:

$client = Client::lists('name', 'id')->where('group_id', 1)->get();
Run Code Online (Sandbox Code Playgroud)

$client = Client::lists('name', 'id')->where('group_id','=', 1)->get();
Run Code Online (Sandbox Code Playgroud)

但它似乎没有那样工作,并给我错误"调用成员函数where()在非对象上"

有关如何使其工作的任何想法?

php laravel laravel-4

10
推荐指数
4
解决办法
3万
查看次数

Laravel:使用eloquent从多个相关表中返回结果

我正在使用Laravel 4,特别是我正在寻找一个使用雄辩的ORM的答案.

我有一个表" tasks ",它将client_iduser_id分配给每一行.

client_id指的是" clients "表上的客户端,user_id指的是" users "表上的用户.

我想做的事:显示所有任务并显示" clients " 名称和" users " first_name

所以结果在我的(刀片)视图中看起来像这样:

@foreach($tasks as $task)
    <tr>
        <td>{{ $task->user->first_name }}</td>
        <td>{{ $task->client->name }}</td>
        <td>{{ $task->description }}</td>
    </tr>
@endforeach
Run Code Online (Sandbox Code Playgroud)

上面的视图完全吐出$ task-> client->名称,但不幸的是当我添加行$ task-> user-> first_name时显示"试图获取非对象的属性"

我的控制器看起来像这样:

$tasks = Task::with(array('user', 'client'))->get();
return View::make('index', compact('tasks'));
Run Code Online (Sandbox Code Playgroud)

据我所知,我的模型也有所不同,所以我的模型看起来像这样:

class Task extends Eloquent {
    protected $guarded = array();
    public static $rules = array();

    public function client() {
        return …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-4

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

在AWS Elastic Beanstalk上部署Laravel 4应用程序

我在Laravel 4中开发了一个应用程序 - 在我的本地机器上完美地运行,具有通常/典型的laravel设置(这里没有什么不寻常的事).

我现在想要将应用程序部署到AWS Elastic Beanstalk(可能在安装了php 5.4的典型Linux 64位服务器上)

我的问题是:我是否需要对文件进行任何更改才能使应用程序为部署做好准备?

例如,我需要创建任何配置文件等吗?(我在这里读到了某种app/config/elastic文件:http :: //darrennolan.com/2013/02/02/php-aws-elastic-beanstalk-rds-laravel-4-with-migrations-on-更新/)

我以前从未部署过,所以请尽可能多地详细说明.

php amazon-web-services laravel laravel-4 amazon-elastic-beanstalk

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

Laravel 4:如果帖子不存在,使用控制器重定向页面 - 尝试但到目前为止失败

我正在使用Laravel 4,我有一个显示帖子的页面,例如example.com/posts/1显示了db的第一篇帖子.

如果有人试图转到不存在的网址,我想要做的是将网页重定向到索引.

例如,如果没有第6号帖子,那么example.com/posts/6应该重定向到example.com/posts

这就是我所拥有的,它是否在轨道上?

public function show($id)
{
        $post = $this->post->findOrFail($id);

        if($post != NULL)
        {
        return View::make('posts.show', compact('post'));
        }
        else
        {
            return Redirect::route('posts.index');
        }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢 :)

php laravel laravel-4

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

Laravel 4:保护控制器提供的路线

我正在构建一个Laravel 4应用程序,我想保护我的管理区域,因此只有用户登录/验证后才能访问它.

做这个的最好方式是什么?

Laravel文档说你可以保护这样的路线:

Route::get('profile', array('before' => 'auth', function()
{
// Only authenticated users may enter...
}));
Run Code Online (Sandbox Code Playgroud)

但是当我的路线看起来像这样时会发生什么:

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

如何保护指向控制器的路由?

提前致谢!

php laravel laravel-4

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

Laravel:如何将表单中的值传递给控制器​​?

我有一个表格:

{ Form::open(array('action' => 'RatesController@postUserRate', $client->id)) }}
    {{ Form::text('rate', '', array('placeholder' => 'Enter new custom client rate...')) }}
    {{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
Run Code Online (Sandbox Code Playgroud)

如何通过表单将$ client-> id值传递给我的控制器方法?

我目前有一个控制器方法,如下所示:

public function postUserRate($id)
{
    $currentUser = User::find(Sentry::getUser()->id);
    $userRate = DB::table('users_rates')->where('user_id', $currentUser->id)->where('client_id', $id)->pluck('rate');

    if(is_null($userRate))
    {
    ...
    }else{
    ....
    }
}
Run Code Online (Sandbox Code Playgroud)

并且错误日志显示"对于RatesController :: postUserRate()缺少参数1"

关于如何将这个$ client-> id传递给我的控制器的任何想法,以便我可以按照我想要的那样使用它?

php laravel laravel-4

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

Laravel 4:如何检查我的商店功能是否已存在数据库条目

我正在使用Laravel 4中的PostsController将帖子添加到数据库中

我在数据库中使用url字段来确定我用于show post url的内容,例如url = example-url意味着帖子的url将是example.com/example-url

我的商店功能如下所示:

public function store()
{
        $input = Input::all();

        $v = Validator::make($input, Post::$rules);

        if($v->passes())
        {
            $this->post->create($input);

            return Redirect::route('cms.index');
        }

        return Redirect::route('cms.create')
            ->withInput()
            ->withErrors($v)
            ->with('message', 'There were validation errors.');
}
Run Code Online (Sandbox Code Playgroud)

检查输入的网址是否已存在于另一个帖子的最佳方法是什么?

谢谢!

php mysql laravel laravel-4

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

Laravel 4:如何使用 eloquent ORM/blade 显示帖子的预览

我在 Laravel 4 中构建了一个简单的 cms。目前主站点索引显示了所有帖子的列表,包括帖子的正文。

例如,在我的 show.blade.php 页面上查看整篇文章之前,我只想显示我帖子正文的前 100 个字母作为预览。

index.blade 的相关部分如下所示:

@foreach($posts as $post)
...
<p>{{ $post->body }}</p>
Run Code Online (Sandbox Code Playgroud)

我的 DisplayController 的相关部分如下所示:

public function index()
{
    $posts = $this->post->orderBy('id', 'DESC')->get();

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

我将如何在我的索引页面上仅显示每个帖子的前 100 个字符(作为示例)?

php laravel blade laravel-4

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