Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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 5.8)_Php_Laravel_Laravel 5.8 - Fatal编程技术网

Php 如何获取发布帖子的用户名(laravel 5.8)

Php 如何获取发布帖子的用户名(laravel 5.8),php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我正在尝试获取创建post witch is Problem model的用户名,我不知道哪里出了问题,我在laravel文档中进行了尝试,我检查了这些,但仍然得到null,或者如果我使用dd$Problem->user->name,尝试获取非对象的属性“name” 我使用的是laravel 5.8 ProblemsController.php Problems.php模型 ForingkeyAddedby迁移 我想使用$PROJECT->user->name来获取创建post的用户的名称,以便

我正在尝试获取创建post witch is Problem model的用户名,我不知道哪里出了问题,我在laravel文档中进行了尝试,我检查了这些,但仍然得到null,或者如果我使用dd$Problem->user->name,尝试获取非对象的属性“name”

我使用的是laravel 5.8

ProblemsController.php Problems.php模型 ForingkeyAddedby迁移 我想使用$PROJECT->user->name来获取创建post的用户的名称,以便在表中显示它

请帮忙

谢谢大家。

您的用户模型正在问题表中查找用户id字段,以使关系正常工作。Laravel使用模型+“\u id”的名称为模型关系使用蛇形格自动创建关系

如果将problems表上的外键更改为user_id而不是addedBy,则可以按原样工作

或者,如果希望保留addedBy键,则需要告诉Laravel您使用的是非标准键。因此,在您的用户模型上:

我们应该做到这一点。看

不幸的是,看起来您还没有在表上定义实际的FK。在外国指定之前,我希望看到如下情况:

$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
或者如果使用更新版本的Laravel:

 $table->unsignedBigInteger('user_id');
 $table->foreign('user_id')->references('id')->on('users');
您的用户模型正在问题表中查找用户id字段,以使关系正常工作。Laravel使用模型+“\u id”的名称为模型关系使用蛇形格自动创建关系

如果将problems表上的外键更改为user_id而不是addedBy,则可以按原样工作

或者,如果希望保留addedBy键,则需要告诉Laravel您使用的是非标准键。因此,在您的用户模型上:

我们应该做到这一点。看

不幸的是,看起来您还没有在表上定义实际的FK。在外国指定之前,我希望看到如下情况:

$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
或者如果使用更新版本的Laravel:

 $table->unsignedBigInteger('user_id');
 $table->foreign('user_id')->references('id')->on('users');

.

我尝试过这个返回$this->有很多“应用程序\问题”,加上“;但是,即使我使用$PROJECT->user I get null,也仍然存在相同的问题,这意味着我根本无法获取user。看起来你有一个输入错误-我想这是由于额外的“如果没有在数据库上实际声明FK,这将不起作用”。您必须输入类似$table->unsignedbiginger'addedBy'的内容;如果要这样做,请在外线上方。强烈建议使用user_id来保持与约定的一致性-这样会更容易。除非您正确地将密钥添加到数据库中,否则您将继续获得空用户。谢谢您,亲爱的,我已按您所说的将FK的名称更改为User_id。它的工作我已经尝试了这个返回$this->有许多'应用程序\问题',添加';但是,即使我使用$PROJECT->user I get null,也仍然存在相同的问题,这意味着我根本无法获取user。看起来你有一个输入错误-我想这是由于额外的“如果没有在数据库上实际声明FK,这将不起作用”。您必须输入类似$table->unsignedbiginger'addedBy'的内容;如果要这样做,请在外线上方。强烈建议使用user_id来保持与约定的一致性-这样会更容易。除非您正确地将密钥添加到数据库中,否则您将继续获得空用户。谢谢您,亲爱的,我已按您所说的将FK的名称更改为User_id。这是工作
[...]
 public function up()
    {
        Schema::create('problems', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('accountNumber');
            $table->string('accountName');
            $table->string('accountEmail');
            $table->date('date');
            $table->longText('problem');
            $table->bigInteger('addedBy')->unsigned()->nullable();
            $table->longText('comment')->nullable();
            $table->string('solvedBy')->nullable();
            $table->boolean('solved');
            $table->timestamps();
        });
    }
[...]

[...]
public function up()
    {
        Schema::table('problems', function(Blueprint $table){
            $table->foreign('addedBy')->references('id')->on('users')->onDelete('set null')->onUpdate('CASCADE');

        });
    }
[...]

public function problem()
{
    return $this->hasMany('App\Problems', 'addedBy');
}
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
 $table->unsignedBigInteger('user_id');
 $table->foreign('user_id')->references('id')->on('users');