我正在使用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
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,但我不知道如何获取它.
亲切的问候!
我怎么说 WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)
对于更复杂的查询,我应该使用原始SQL吗?
这可能是一个微不足道的问题,但我想知道Laravel是否建议某种方法来检查返回的Eloquent集合是否$result = Model::where(...)->get()为空,以及计算元素的数量.
我们目前正在使用!$result检测空结果,是否足够?至于count($result)它是否真的涵盖了所有情况,包括空洞的结果?
我是Laravel的新手.请原谅新手问题,但如何查找记录是否存在?
$user = User::where('email', '=', Input::get('email'));
Run Code Online (Sandbox Code Playgroud)
我该怎么办才能看到是否$user有记录?
如何在Laravel框架中使用Eloquent或Fluent选择随机行?
我知道通过使用SQL,您可以通过RAND()进行排序.但是,我想获取随机行而不计算初始查询之前的记录数.
有任何想法吗?
我想通过使用orderBy()Laravel Eloquent中的方法对Laravel 4中的多个列进行排序.查询将使用Eloquent生成,如下所示:
SELECT *
FROM mytable
ORDER BY
coloumn1 DESC, coloumn2 ASC
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
如何使用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模型添加自定义属性/属性,类似于使用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'属性会很好.
我已经尝试使用文档中描述的一些模型事件来在对象加载时附加此属性,但到目前为止没有成功.
笔记:
$sessions作为API的一部分作为JSON对象返回,因此调用类似于$session->available()模板的东西不是一种选择我陷入了一个简单的任务.我只需要订购来自此次通话的结果
$results = Project::all();
Run Code Online (Sandbox Code Playgroud)
Project模特在哪里 我试过这个
$results = Project::all()->orderBy("name");
Run Code Online (Sandbox Code Playgroud)
但它没有用.从表中获取所有数据并获取它们的更好方法是哪种?
eloquent ×10
laravel ×10
php ×7
laravel-4 ×3
conditional ×1
database ×1
fluent ×1
laravel-5 ×1
orm ×1
sql-order-by ×1