草庐IT

eloquent

全部标签

php - 从主数据库获取数据库凭据,然后连接到不同的数据库

我有一个实例化Web应用程序,它为每个实例使用不同的数据库,但使用相同的文件。我希望我的应用程序在启动时执行的操作:从主实例表中获取数据库凭据。此实例表位于我在app/config/database.php中定义的默认“mysql”连接中。从那时起连接到实例数据库(我不再需要主实例数据库了)我曾尝试在我的App:before()事件中执行此操作,但那行不通,因为我的主数据库中没有session表。如果我在database.php中的returnarray()之前执行此操作,它显然无法连接,因为它还没有正确的主数据库凭据。我应该在哪里做这个?我应该只禁用session并在我的App::b

php - Laravel Eloquent Relationship - 向多个表中插入数据

我有以下结构:3个表:电影、Actor、流派电影表架构:Schema::create('movies',function(Blueprint$t){$t->increments('id');$t->string('title');$t->integer('genre_id')->unsigned();$t->foreign('genre_id')->references('id')->on('genres');$t->string('genre');$t->timestamps();});流派表架构:Schema::create('genres',function(Blueprint$

php - Laravel 获取最新插入用户的 ID

我正在使用LaravelAuth让用户能够注册。我现在正在尝试的是:用户注册后(如果他们选择了特殊角色),另一行插入到另一个表(然后是用户)中,其中包含相关的用户ID。这是它的代码:middleware('guest');}/***Getavalidatorforanincomingregistrationrequest.**@paramarray$data*@return\Illuminate\Contracts\Validation\Validator*/protectedfunctionvalidator(array$data){returnValidator::make($da

php - Laravel belongsToMany 没有其中之一

我有两个表:categories和videos,然后我有一个数据透视表,因为它们是belongsToMany关系。我想要做的是获取所有视频,其中没有一个视频实例属于多个类别之一。例如视频1属于类别1、2和3。视频2属于类别1和3。视频3属于类别1。我想获取不属于类别2或3的视频,这意味着这将返回视频3。到目前为止,我已经尝试过,但没有给出预期的结果,这是因为仍然为视频1和2找到了另一行,因为它们属于类别1:Video::whereHas('categories',function($query){$query->whereNotIn('category_id',[2,3]);})->t

php - Laravel Eloquent 在更新时运行两个查询?

我很想知道,如果laraveleloquent在更新一行时只运行一个查询。所以我尝试了以下Route::get('/cli',function(){DB::enableQueryLog();$client=Client::findOrFail(1);$client->first_name='Noob';$client->save();returnresponse()->json(['client'=>$client->first_name,'query'=>DB::getQueryLog()],200);});这给了我以下结果{"client":"Noob","query":[{"qu

php - 违反完整性约束 : 1452 laravel

我在laravel中使用以下迁移创建了两个表:用户迁移:publicfunctionup(){Schema::create('users',function($table){$table->increments('id')->unsigned();$table->string('email')->unique();$table->string('password',64);$table->string('first_name',32);$table->string('last_name',32);$table->string('remember_token',100)->nullabl

php - Laravel 使用 Eloquent 进行多对多选择

我有2个表,用户和技能,以及它们之间的多对多关系。数据透视表skill_user也有“级别”列-该用户知道该技能的级别。在我的用户模型中:publicfunctionskills(){return$this->belongsToMany('Skill')->withPivot('level');}在技能模型中:publicfunctionusers(){return$this->belongsToMany('User');}现在,我需要运行一个查询,它将返回如下内容:“选择skill_id_1>40&&skill_id_2>55&&skill_id_3>67的所有用户”其中skill_

php - Laravel dynamic where 使用 Query Builder 进行查询

我是Laravel的新手。我想使用laravel查询构建器进行动态查询。通常我可以在php中进行动态查询$where=array('hello'=>'world');functionget($where=null){if($where=="")$where="";//Functionwhichconvertswhereclauseintoquerieswheretoqueries($where);//convertswhereclause$sql="SELECT*FROM$tbl$where";return$sql;}echoget($where);如果where子句为null查询将是

php - Laravel Eloquent 不更新 JSON 列 : Array to string conversion

我想更新数据库中的JSON列,但出现此错误:Arraytostringconversion我已在模型中将列名称声明为array:protected$casts=['destinations'=>'array'];这是我使用的代码:$data[]=['from'=>$fromArray,'to'=>$toArray];Flight::where('id',$id)->update(['destinations'=>$data]);我该怎么办? 最佳答案 您可以使用箭头访问您的json键,这样您就可以像这样更新您的列:Flight::w

php - 如何在 Laravel Query Builder/MySQL Spatial 包中按距离对查询结果进行排序?

首先,我想向您展示当前的数据库结构。一共有三个表:菜肴(id,名字)位置(id、名称、坐标(POINT))dish_location(location_id,dish_id)现在我想实现一个API,它获取用户的位置(纬度、经度)并返回按距离(以公里为单位)排序的菜肴列表。我已经有了一个方法,它需要两个纬度和两个经度并给我距离。但我相信您可以告诉我一种方法,这是一种直接在MySQL查询中执行此操作的更高效的方法。附加:我想在API中执行“加载更多”功能。所以我传递了已收到元素的数量,或者在这种情况下我将如何解决这个问题?我将其用于MySQLSpatialpackage