我试图在我的标签模型上建立双向多对多关系,但我遇到了这个“问题”。
我的模型如下所示:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Tag extends Model
{
protected $table = 'tags';
public $timestamps = false;
public function tags()
{
return $this->belongsToMany(Tag::class, 'tag_tag', 'tag_one_id', 'tag_two_id');
}
}
Run Code Online (Sandbox Code Playgroud)
现在假设我的标签表中有 Tag1 和 Tag2,然后我将 Tag2 与 Tag1 关联起来。现在我的数据透视表将如下所示:
+----+------------+------------+
| id | tag_one_id | tag_two_id |
+----+------------+------------+
| 1 | 1 | 2 |
+----+------------+------------+
Run Code Online (Sandbox Code Playgroud)
当我尝试这段代码时:
$tag = Tag::find(1);
$tag->tags()->get();
Run Code Online (Sandbox Code Playgroud)
我得到了 Tag2 实例,它是正确的。
但是当我尝试运行这段代码时:
$tag = Tag::find(2);
$tag->tags()->get();
Run Code Online (Sandbox Code Playgroud)
我想接收 Tag1 实例,但我没有。
是否可以仅使用模型上的一种方法使用 Laravel 默认 Eloquent 来完成此任务?
我必须检查对象是否未定义,但是当我这样做时
typeof myUnexistingObject.myUnexistingValue == 'undefined'
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
Uncaught ReferenceError: myUnexistingObject is not defined
Run Code Online (Sandbox Code Playgroud)
那么,如何检查未定义的对象或属性?