Questions tagged «eloquent»

Laravel随附的Eloquent ORM为使用您的数据库提供了一个漂亮,简单的ActiveRecord实现。每个数据库表都有一个对应的“模型”,用于与该表进行交互。模型使您可以查询表中的数据,以及将新记录插入表中。

21
如何使用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(); 有没有更好的方法可以做到这一点,还是我应该坚持使用这种方法?

30
使用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); } } 我想返回插入的最后一个ID,但我不知道如何获取它。 亲切的问候!


11
雄辩的收藏:计数和检测空
这可能是一个琐碎的问题,但是我想知道Laravel是否建议某种方法来检查从其返回的Eloquent集合是否$result = Model::where(...)->get()为空,以及计算元素的数量。 我们目前正在使用!$result以检测空结果,是否足够?至于count($result),它实际上涵盖所有情况,包括空结果吗?


14
Laravel-雄辩或流利的随机行
如何在Laravel框架中使用Eloquent或Fluent选择随机行? 我知道通过使用SQL,您可以通过RAND()进行订购。但是,我想在不计算初始查询之前的记录数的情况下获得随机行。 有任何想法吗?
241 php  fluent  laravel  eloquent 


9
在加载时向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; } 能够省略该循环并已设置并填充了“ available”属性将是很好的选择。 我尝试使用文档中描述的一些模型事件在对象加载时附加此属性,但到目前为止还没有成功。 笔记: “可用”不是基础表中的字段。 $sessions是作为JSON对象作为API的一部分返回的,因此$session->available()无法在模板中调用类似内容
219 php  orm  laravel  eloquent 

7
您如何用Eloquent检查“ if not null”?
您如何使用Eloquent 检查字段是否不为null? 我试过了,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
218 laravel  eloquent 



30
迁移:无法添加外键约束
我试图在Laravel中创建外键,但是当我使用我的表进行迁移artisan时,抛出以下错误: [Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL : alter table `priorities` add constraint priorities_user_id_foreign foreign key (`user_id`) references `users` (`id`)) 我的迁移代码是这样的: 优先级迁移文件 public function up() { // Schema::create('priorities', function($table) { $table->increments('id', true); $table->integer('user_id'); $table->foreign('user_id')->references('id')->on('users'); $table->string('priority_name'); $table->smallInteger('rank'); $table->text('class'); $table->timestamps('timecreated'); }); } /** * Reverse the migrations. …

13
在Laravel Eloquent中使用“ With()”函数获取特定列
我有两个表,User和Post。一个User可以有许多posts,一个post只能属于一个user。 在我的User模型中,我有一个hasMany关系... public function post(){ return $this->hasmany('post'); } 在我的post模型中,我有一个belongsTo关系... public function user(){ return $this->belongsTo('user'); } 现在,我想使用来连接这两个表,Eloquent with()但是想要第二个表中的特定列。我知道我可以使用查询生成器,但我不想这样做。 当Post我在模型中写... public function getAllPosts() { return Post::with('user')->get(); } 它运行以下查询... select * from `posts` select * from `users` where `users`.`id` in (<1>, <2>) 但是我想要的是... select * from `posts` select id,username from `users` where `users`.`id` …

9
Laravel迁移更改以使列为空
我使用unsigned创建了迁移user_id。如何user_id在新迁移中进行编辑以使其同样成功nullable()? Schema::create('throttle', function(Blueprint $table) { $table->increments('id'); // this needs to also be nullable, how should the next migration be? $table->integer('user_id')->unsigned(); }

10
禁用Laravel雄辩的时间戳
我正在将我们的一个Web应用程序从CodeIgniter转换为Laravel。但是,目前我们不想将updated_at/ created_at字段添加到所有表中,因为我们已经有了一个日志记录类,该类已经为我们做了更深入的介绍。 我知道我可以设置$timestamps = false;: Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php 但是,我不想更改Laravel的核心文件,或者不要让我的每个模型都放在顶部。有什么方法可以在所有型号的其他位置禁用此功能吗?
184 php  laravel  eloquent 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.