Php 如何获取发布帖子的用户名(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的用户的名称,以便在表中显示它 请帮忙 谢谢大家。您的用户模型正在问题表中查找用户id字段,以使关系正常工作。Laravel使用模型+“\u id”的名称为模型关系使用蛇形格自动创建关系 如果将problems表上的外键更改为user_id而不是addedBy,则可以按原样工作 或者,如果希望保留addedBy键,则需要告诉Laravel您使用的是非标准键。因此,在您的用户模型上: 我们应该做到这一点。看 不幸的是,看起来您还没有在表上定义实际的FK。在外国指定之前,我希望看到如下情况: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的用户的名称,以便
$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');