标签: eloquent

如何使用Laravel Eloquent创建多个Where子句查询?

我正在使用Laravel Eloquent查询构建器,我有一个查询,我希望WHERE在多个条件下有一个子句.它有效,但它并不优雅.

例:

$results = User::where('this', '=', 1)
    ->where('that', '=', 1)
    ->where('this_too', '=', 1)
    ->where('that_too', '=', 1)
    ->where('this_as_well', '=', 1)
    ->where('that_as_well', '=', 1)
    ->where('this_one_too', '=', 1)
    ->where('that_one_too', '=', 1)
    ->where('this_one_as_well', '=', 1)
    ->where('that_one_as_well', '=', 1)
    ->get();
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,还是我应该坚持这种方法?

php laravel eloquent laravel-query-builder

341
推荐指数
12
解决办法
47万
查看次数

使用Laravel Eloquent获取最后插入的ID

我目前正在使用以下代码在表中插入数据:

<?php

public function saveDetailsCompany()
{
    $post = Input::All();

    $data = new Company;
    $data->nombre = $post['name'];
    $data->direccion = $post['address'];
    $data->telefono = $post['phone'];
    $data->email = $post['email'];
    $data->giro = $post['type'];
    $data->fecha_registro = date("Y-m-d H:i:s");
    $data->fecha_modificacion = date("Y-m-d H:i:s");

    if ($data->save()) {
        return Response::json(array('success' => true), 200);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想返回插入的最后一个ID,但我不知道如何获取它.

亲切的问候!

php database laravel eloquent

260
推荐指数
15
解决办法
41万
查看次数

Laravel 4使用ORERE和OR进行Eloquent查询?

我怎么说 WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)

对于更复杂的查询,我应该使用原始SQL吗?

php laravel eloquent laravel-query-builder

254
推荐指数
11
解决办法
30万
查看次数

雄辩的收集:计数和检测空

这可能是一个微不足道的问题,但我想知道Laravel是否建议某种方法来检查返回的Eloquent集合是否$result = Model::where(...)->get()为空,以及计算元素的数量.

我们目前正在使用!$result检测空结果,是否足够?至于count($result)它是否真的涵盖了所有情况,包括空洞的结果?

laravel eloquent laravel-4 laravel-collection

242
推荐指数
8
解决办法
26万
查看次数

Laravel检查是否存在记录

我是Laravel的新手.请原谅新手问题,但如何查找记录是否存在?

$user = User::where('email', '=', Input::get('email'));
Run Code Online (Sandbox Code Playgroud)

我该怎么办才能看到是否$user有记录?

php conditional laravel eloquent laravel-5

218
推荐指数
9
解决办法
36万
查看次数

Laravel - Eloquent或Fluent随机排

如何在Laravel框架中使用Eloquent或Fluent选择随机行?

我知道通过使用SQL,您可以通过RAND()进行排序.但是,我想获取随机行而不计算初始查询之前的记录数.

有任何想法吗?

php fluent laravel eloquent

216
推荐指数
8
解决办法
19万
查看次数

如何在Laravel 4中使用多列的排序依据?

我想通过使用orderBy()Laravel Eloquent中的方法对Laravel 4中的多个列进行排序.查询将使用Eloquent生成,如下所示:

SELECT *
FROM mytable
ORDER BY
  coloumn1 DESC, coloumn2 ASC
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

php laravel eloquent laravel-4 laravel-query-builder

202
推荐指数
4
解决办法
15万
查看次数

如何用Eloquent检查"if not null"?

如何使用Eloquent 检查字段是否为空

我试过Model::where('sent_at', 'IS NOT', DB::raw('null'))->...但是它给出IS NOT了一个绑定而不是比较.

这是DB::getQueryLog()关于它的说法:

  'query' => string 'select * from my_table where sent_at = ? and profile_id in (?, ?) order by created_at desc' (length=101)
  'bindings' => 
    array (size=3)
      0 => string 'IS NOT' (length=6)
      1 => int 1
      2 => int 4
Run Code Online (Sandbox Code Playgroud)

laravel eloquent

197
推荐指数
6
解决办法
24万
查看次数

在加载时将自定义属性添加到Laravel/Eloquent模型?

我希望能够在加载时为Laravel/Eloquent模型添加自定义属性/属性,类似于使用RedBean $model->open()方法可以实现方式.

例如,目前,在我的控制器中,我有:

public function index()
{
    $sessions = EventSession::all();
    foreach ($sessions as $i => $session) {
        $sessions[$i]->available = $session->getAvailability();
    }
    return $sessions;
}
Run Code Online (Sandbox Code Playgroud)

能够省略循环并且已经设置和填充'available'属性会很好.

我已经尝试使用文档中描述的一些模型事件来在对象加载时附加此属性,但到目前为止没有成功.

笔记:

  • 'available'不是基础表中的字段.
  • $sessions作为API的一部分作为JSON对象返回,因此调用类似于$session->available()模板的东西不是一种选择

php orm laravel eloquent

195
推荐指数
7
解决办法
18万
查看次数

Laravel Eloquent:订购所有()的结果

我陷入了一个简单的任务.我只需要订购来自此次通话的结果

$results = Project::all();
Run Code Online (Sandbox Code Playgroud)

Project模特在哪里 我试过这个

$results = Project::all()->orderBy("name");
Run Code Online (Sandbox Code Playgroud)

但它没有用.从表中获取所有数据并获取它们的更好方法是哪种?

sql-order-by laravel eloquent laravel-4

191
推荐指数
9
解决办法
17万
查看次数