标签: eloquent

在Laravel中,有没有办法找出`firstOrCreate`是否已创建或是否找到了行?

在Laravel中,有没有办法区分firstOrCreate创建行,如果找出之前存在的行?

或者我必须先手动执行get(),然后创建行?

php laravel eloquent laravel-5

26
推荐指数
1
解决办法
5536
查看次数

Laravel Eloquent Lazy Eager Load Count

我理想地寻找像这样的功能

load('relationship')
Run Code Online (Sandbox Code Playgroud)

但是以相同的方式加载计数

withCount('relationship')
Run Code Online (Sandbox Code Playgroud)

适用于急切加载.

我想它会被称为 loadCount('relationship')

laravel eloquent

26
推荐指数
3
解决办法
9042
查看次数

Laravel形式模型绑定

我一直在阅读这个功能:http://laravel.com/docs/html#form-model-binding

它看起来很整洁,但有几件我不确定的事情.

我是否需要在控制器操作中放置任何代码来处理此表单?那是什么样的?

我想在我的表单中绑定的模型(用户)有一个单独的地址表.所以我希望能够填写用户模型的字段,还能填写相关地址模型的字段.我可以使用表单模型绑定来执行此操作,还是必须手动处理表单?

或者,如果不这样做,我可以对用户字段使用表单模型绑定,但是手动处理地址字段吗?

php forms laravel eloquent laravel-4

25
推荐指数
1
解决办法
4万
查看次数

Laravel:雄辩地说明如何一次更新模型和相关模型

有谁知道是否可以做以下事情:

假设我们有一个名为User的模型和一个名为BestFriend的模型.用户与最好的朋友之间的关系是1:1.

我希望这些案例能够做到这样的事情,同时改变我的城市和我朋友的城市.

$me = User::find(1);

$me->update(array(
'city' => 'amsterdam',
'bestfriend.city' => 'amsterdam'
));
Run Code Online (Sandbox Code Playgroud)

所以基本上我想知道Eloquent是否足够聪明,能够理解基于数组键'bestfriend.city'的关系.

在此先感谢您的帮助!

更新:

在Laravel论坛上找到解决方案,但我也在这里发布,如果其他人正在寻找相同的东西:)

在您添加的模型中

// In your model...
public function setBestFriendArrayAttribute($values)
{
    $this->bestfriend->update($values);
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以这样称呼它

$me->update(array(
    'city' => 'amsterdam',
    'BestFriendArray' => array(
        'city' => 'amsterdam'
    )
));
Run Code Online (Sandbox Code Playgroud)

奇迹般有效!

laravel eloquent laravel-4

25
推荐指数
2
解决办法
3万
查看次数

Laravel Eloquent按关系列过滤

使用Eloquent ORM我的模型设置如下: Post belongsToMany Category

post.php中

public function categories()
{
    return $this->belongsToMany('Category', 'posts_categories');
}
Run Code Online (Sandbox Code Playgroud)

我想按类别关系的列过滤帖子.

所以我想做一些事情:

$posts->where('categories.slug', '=', Input::get('category_slug'));
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

我也尝试过:

$with['categories'] = function($query){ 
    $query->where('slug', '=', Input::get('category_slug'));
};

$posts::with($with)->get();
Run Code Online (Sandbox Code Playgroud)

但我认为这是为了过滤不按类别过滤的类别.

有谁能告诉我的方式?

orm eloquent laravel-4

25
推荐指数
1
解决办法
3万
查看次数

如何通过Eloquent查询raw?

我正在尝试在我的Laravel应用程序中进行查询,并且我想为查询使用常规结构.这个类要么使用Eloquent所以我需要找到一些完全原始的查询.

可能是这样的Model::query($query);.只有这不起作用.

php laravel eloquent laravel-4

25
推荐指数
5
解决办法
7万
查看次数

Laravel Soft删除恢复()错误

以下软删除代码对我来说很好:

$post = Post::find($post_id);
$post->delete();
Run Code Online (Sandbox Code Playgroud)

deleted_at字段已更新.但这给了我一个错误:

$post = Post::find($post_id);
$post->restore();
Run Code Online (Sandbox Code Playgroud)

这是错误:

exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function restore() on a non-object'
Run Code Online (Sandbox Code Playgroud)

我很难过.到目前为止谷歌没有帮助.

soft-delete laravel eloquent

25
推荐指数
2
解决办法
2万
查看次数

Laravel Eloquent如何在运营商之间使用

我想在Eloquent和Laravel找到一个优雅的方式来说

select * from UserTable where Age between X and Y
Run Code Online (Sandbox Code Playgroud)

在Eloquent中有一个介于操作员之间(我找不到它).

我到目前为止最接近的是像这样追查我的查询

$query->where(age, '>=', $ageFrom)
      ->where(age, '<=', $ageTo);
Run Code Online (Sandbox Code Playgroud)

我也遇到了似乎有效的R.Raw

$query->whereRaw('age BETWEEN ' . $ageFrom . ' AND ' . $ageTo . '');
Run Code Online (Sandbox Code Playgroud)

是否存在处理范围的实际雄辩方式(非原始方式)?

php sql laravel eloquent laravel-4

25
推荐指数
2
解决办法
3万
查看次数

Laravel:使用Elouquent的动态where子句

我用搜索参数调用URL是动态的.我怎么能形成适当的Eloquent查询

理论上:

  1. 询问
  2. 查询在哪里(someParam1)
  3. 查询在哪里(someParam2)
  4. 查询orderby(someParam3)
  5. 查询得到

我需要这种结构,所以如果param存在,我可以使用where子句.如果Laravel有其他方式,请告诉我.

laravel eloquent

25
推荐指数
2
解决办法
2万
查看次数

Laravel 5.1在复制时创建或更新

在Laravel 5.1中,对于MySQL插入,我想查看记录是否已经存在并在重复时更新,或者如果不存在则创建新的.

我已经搜索了那里的答案是旧的laravel版本.在其中一个老话题中,它说updateOrCreate()去年核心增加了一种新方法.但是当我尝试这个时,我收到了错误:

Integrity constraint violation: 1062 Duplicate entry '1' for key 'app_id' 
Run Code Online (Sandbox Code Playgroud)

这是我使用的查询:

AppInfo::updateOrCreate(array(
    'app_id' => $postData['appId'],
    'contact_email' => $postData['contactEmail']
));
Run Code Online (Sandbox Code Playgroud)

app_id该表中的唯一外键在哪里,我想更新记录(如果存在)或创建新记录.我试过搜索5.1文档但找不到我需要的信息.有人可以在这里指导我吗...

query-builder laravel eloquent laravel-5

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

标签 统计

eloquent ×10

laravel ×9

laravel-4 ×5

php ×4

laravel-5 ×2

forms ×1

orm ×1

query-builder ×1

soft-delete ×1

sql ×1