无法在laravel数据库中存储简单数组

帕特里克

我想将用户ID存储在我的User行的一列中,因为人们可以“关注”其他人。

因此,如果我是一个用户,则可以关注多个用户。我想以一种超级简单的格式存储[1, 5, 6]该数据,例如存储在数据库中。

Following列是字符串格式:

$table->string('following');

我正在尝试通过运行以下命令来做到这一点:

$user = Auth::user(); 
$data = $request->all(); 
$follow = $data['follow']; 

if(!empty($user->following)) { 
    $user->following = array_merge($user->following, array($follow)); 
} else { 
    $user->following = array($follow); 
}

但是它通过 Parameter mismatch, pattern is a string while replacement is an array

我在laravel上构建的另一个系统上也以完全相同的方式进行了操作,并且一切工作都像一个魅力,所以我根本不明白为什么它不起作用。在到另一个系统的那个数据库中,数据如前所述被存储。

我不想大量序列化,因为这必须很简单,所以我可以

$following = User::whereIn('id', $user->following)->get();

foreach($follwing as $follow) {
...
}

我不认为这是最好的方法,但是这是我可以用自己的技巧扎根的唯一方法。欢迎其他建议!

阿米特·古普塔(Amit Gupta)

这不是Laravel存储数据的方式。您应该创建一个新表来存储关注者的数据。

这可以通过many-to-many在用户表本身之间创建关系来实现

创建一个followers_following表,其列为:

id | follower_id | following_id

User模型中创建两个关系函数为:

public function followers()
{
    return $this->belongsToMany('App\User', 'followers_following', 'following_id', 'follower_id');
}

public function following()
{
    return $this->belongsToMany('App\User', 'followers_following', 'follower_id', 'following_id');
}

然后,您可以查询用户为:

$user = User::find(1);

$user->followers;

$user->following;

要将数据保存在DB中,您可以执行以下操作:

$user->following()->attach($follow);

文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在简单数据库中合并多行数据

来自分类Dev

在数据库列中存储数组-laravel 5

来自分类Dev

商店的简单数据库方案

来自分类Dev

Laravel 不会在数据库中存储特定的表单数据而不会出错

来自分类Dev

在数据库中存储数组

来自分类Dev

来自bash的简单数据库解决方案(本地存储)

来自分类Dev

如果这些数据来自 Laravel 中的 API,如何存储 JSON 数据数组数据库?

来自分类Dev

如何在 Laravel 中存储 JSON 多数组数据数据库?

来自分类Dev

Laravel,将数组中的多个变量存储到数据库中

来自分类Dev

AngularJS中的简单数据库搜索引擎

来自分类Dev

嵌入到Java应用程序中的简单数据库

来自分类Dev

Django / Python:表单数据未存储在数据库中

来自分类Dev

无法在yii中的数据库中存储数据

来自分类Dev

在SQLite数据库中按数组存储数组

来自分类Dev

SQL中的表单数据库

来自分类Dev

将元素数组存储到数据库(Laravel)

来自分类Dev

在Laravel应用程序数据库中存储数组或std对象

来自分类Dev

从可以动态添加字段的表单中将数组存储在数据库中(laravel)

来自分类Dev

JPA实体与EntityManager的简单数据库查询

来自分类Dev

无法在MySQL中创建简单的数据库

来自分类Dev

无法使PHP将表单数据处理到MySQL数据库中

来自分类Dev

如何使数组从Laravel中的数据库中获取数据

来自分类Dev

将配置存储在Laravel中的数据库中

来自分类Dev

在数据库中存储字符串数组

来自分类Dev

PHP存储,检索和编辑数据库中的数组

来自分类Dev

在MySQL数据库中存储未知大小的数组

来自分类Dev

在MySQL数据库Nodejs中存储JSON数组

来自分类Dev

在Xamarin的SQLite数据库中存储和检索数组

来自分类Dev

使用值数组存储到数据库中

Related 相关文章

  1. 1

    在简单数据库中合并多行数据

  2. 2

    在数据库列中存储数组-laravel 5

  3. 3

    商店的简单数据库方案

  4. 4

    Laravel 不会在数据库中存储特定的表单数据而不会出错

  5. 5

    在数据库中存储数组

  6. 6

    来自bash的简单数据库解决方案(本地存储)

  7. 7

    如果这些数据来自 Laravel 中的 API,如何存储 JSON 数据数组数据库?

  8. 8

    如何在 Laravel 中存储 JSON 多数组数据数据库?

  9. 9

    Laravel,将数组中的多个变量存储到数据库中

  10. 10

    AngularJS中的简单数据库搜索引擎

  11. 11

    嵌入到Java应用程序中的简单数据库

  12. 12

    Django / Python:表单数据未存储在数据库中

  13. 13

    无法在yii中的数据库中存储数据

  14. 14

    在SQLite数据库中按数组存储数组

  15. 15

    SQL中的表单数据库

  16. 16

    将元素数组存储到数据库(Laravel)

  17. 17

    在Laravel应用程序数据库中存储数组或std对象

  18. 18

    从可以动态添加字段的表单中将数组存储在数据库中(laravel)

  19. 19

    JPA实体与EntityManager的简单数据库查询

  20. 20

    无法在MySQL中创建简单的数据库

  21. 21

    无法使PHP将表单数据处理到MySQL数据库中

  22. 22

    如何使数组从Laravel中的数据库中获取数据

  23. 23

    将配置存储在Laravel中的数据库中

  24. 24

    在数据库中存储字符串数组

  25. 25

    PHP存储,检索和编辑数据库中的数组

  26. 26

    在MySQL数据库中存储未知大小的数组

  27. 27

    在MySQL数据库Nodejs中存储JSON数组

  28. 28

    在Xamarin的SQLite数据库中存储和检索数组

  29. 29

    使用值数组存储到数据库中

热门标签

归档