Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel用户间消息系统_Php_Laravel_Laravel 5_Eloquent_Relationships - Fatal编程技术网

Php Laravel用户间消息系统

Php Laravel用户间消息系统,php,laravel,laravel-5,eloquent,relationships,Php,Laravel,Laravel 5,Eloquent,Relationships,我正在为我的应用程序开发一个消息传递系统,目前,我有两个表: 1) 消息表: Schema::create('messages', function (Blueprint $table) { $table->increments('id'); $table->text('subject'); $table->integer('sender_id'); $table->text('body'); $table->timestam

我正在为我的应用程序开发一个消息传递系统,目前,我有两个表:

1)
消息
表:

Schema::create('messages', function (Blueprint $table) {
    $table->increments('id');
    $table->text('subject');
    $table->integer('sender_id');
    $table->text('body');
    $table->timestamps('create_date');
    $table->integer('sent_to_id');
});
2)
用户
表格:

Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('email')->unique();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps();
});
目前,我可以将消息及其主题存储到
messages
表中。现在,我想选择我要向其发送消息的用户的
id
。这样我就可以用它来创建对话


是否有任何方法可以列出所有用户并选择我想要发送消息的首选用户?或者任何有消息技术的人可以帮忙吗?

你的问题有点含糊,太宽泛了。无论如何,我假设您希望用户能够向系统中的其他现有用户发送消息

在我们开始之前,请注意,涉及到很多设计决策。我将简单地使用最简单、最快速的方法,因为这只是一个让您开始的演示

为了使用户能够相互发送消息,您需要在数据库迁移中设置外键,设置有说服力的关系,并创建要在控制器类中使用的帮助器方法

1.外键 非常不言自明;但是如果你不知道我在说什么的话,看看这个

您的
用户
表迁移暂时不需要更改,因此我跳到
消息
表迁移:


@shalvah为什么我的问题被忽略了?”,现在我想选择发送消息的用户的id,这样我就可以用它来创建对话。有没有办法列出所有用户并选择我想要发送消息的首选用户?”这还不清楚;你能确切地解释一下你想做什么吗?我想能够获得发送消息的用户的id,这样我就可以将它存储在我的消息表中。我该如何实现这一点呢?你的
发送者id
发送到id
应该是用户表上的外键,例如,如果你用一个使用示例更新你的问题,那就太好了。我在我的Receipements输入文件中得到了111,修正了它。
composeMessage
方法中的查询行应该是这样的:
$users=User::where('id','!=',Auth::id())->pull('name','id')似乎不再提供
lists()
。你的确切版本是什么?Laravel 5.2。收件人输入字段仍然无法正常工作。它如何无法正常工作?在渲染视图之前,先转储
$users
,让我们看看里面有什么。用细节更新您的原始问题。它对我有效,。我有未定义的变量用户