给出以下代码:
DB::table('users')->get();
Run Code Online (Sandbox Code Playgroud)
我想获取上面的数据库查询生成器将生成的原始SQL查询字符串.在这个例子中,它将是SELECT * FROM users.
我该怎么做呢?
我想创建辅助函数以避免在Laravel 5中的视图之间重复代码:
view.blade.php
<p>Foo Formated text: {{ fooFormatText($text) }}</p>
Run Code Online (Sandbox Code Playgroud)
它们基本上是文本格式化功能.我在哪里以及如何使用这些功能创建文件?
我试图使用migrate功能Laravel 4上OSX.但是,我收到以下错误:
Laravel requires the Mcrypt PHP extension.
Run Code Online (Sandbox Code Playgroud)
据我了解,它已经启用(见下图).
有什么问题,我该如何解决?

我正在使用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)
有没有更好的方法来做到这一点,还是我应该坚持这种方法?
我相信我已成功将我的(非常基本的)站点部署到fortrabbit,但是一旦我连接到SSH运行一些命令(例如php artisan migrate或php artisan db:seed),我收到一条错误消息:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Run Code Online (Sandbox Code Playgroud)
在某些时候,迁移必须有效,因为我的桌子在那里 - 但这并不能解释为什么它现在不适合我.
前言:我正在尝试在具有关系数据库的MVC架构中使用存储库模式.
我最近开始用PHP学习TDD,并且我意识到我的数据库与我的应用程序的其余部分非常接近.我已经阅读了有关存储库和使用IoC容器将其"注入"我的控制器的内容.很酷的东西.但是现在有一些关于存储库设计的实际问题.考虑以下示例.
<?php
class DbUserRepository implements UserRepositoryInterface
{
protected $db;
public function __construct($db)
{
$this->db = $db;
}
public function findAll()
{
}
public function findById($id)
{
}
public function findByName($name)
{
}
public function create($user)
{
}
public function remove($user)
{
}
public function update($user)
{
}
}
Run Code Online (Sandbox Code Playgroud)
所有这些find方法都使用select all fields(SELECT *)方法.但是,在我的应用程序中,我总是试图限制我获得的字段数量,因为这通常会增加开销并减慢速度.对于那些使用这种模式的人,你如何处理这个?
虽然这个类现在看起来不错,但我知道在现实世界的应用程序中我需要更多的方法.例如:
如您所见,可能存在非常长的可能方法列表.然后,如果您添加上面的字段选择问题,问题就会恶化.在过去,我通常只是将所有这些逻辑放在我的控制器中:
<?php
class MyController
{
public function users()
{
$users = User::select('name, email, status') …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)它是否真的涵盖了所有情况,包括空洞的结果?
我有一个字符串返回到我的一个视图,如下所示:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
Run Code Online (Sandbox Code Playgroud)
我正试图用Blade显示它:
{{$text}}
Run Code Online (Sandbox Code Playgroud)
但是,输出是原始字符串而不是呈现HTML.如何在Laravel 5中使用Blade显示HTML?
PS.PHP echo()正确显示HTML.