我试图在我的查询表中保存客户端和设备外键,但不知何故,它一直返回null(我的迁移为空)。我得到没有错误,如果我返回$客户端或$设备它返回一个正确的ID。
这就是控制器的样子:
# foreign key in this table rreturns null InquiryController
public function store(Request $request)
{
$input = $request->all();
$client = Client::find($request->input('client_id'));
$device = Device::find($request->input('device_id'));
$stream = new Stream;
$stream->stream_name = $request->input('stream_name');
$stream->save();
$inquiry = new Inquiry;
$inquiry->fill($data);
$inquiry->client()->associate($client);
$inquiry->device()->associate($device);
$inquiry->stream()->associate($stream);
$inquiry->save();
}
这是我的调查模型
class Inquiry extends Model
{
protected $table = 'inquiries';
protected $fillable = ['user_id', 'client_id', 'device_id', 'stream_id'];
# relations
public function user()
{
return $this->belongsTo(User::class);
}
public function client()
{
return $this->belongsTo(Client::class);
}
public function device()
{
return $this->belongsTo(Device::class);
}
public function stream()
{
return $this->belongsTo(Stream::class);
}
}
这是客户端和设备模型的关系函数:
public function inquiry()
{
return $this->hasMany(Inquiry::class);
}
移民:
public function up()
{
Schema::create('inquiries', function(Blueprint $table)
{
$table->increments('id');
$table->unsignedInteger('client_id')->nullable();
$table->unsignedInteger('device_id')->nullable();
$table->timestamps();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->foreign('device_id')->references('id')->on('devices')->onDelete('cascade');
});
}
public function down()
{
Schema::dropIfExists('inquiries');
}
确保在迁移过程中为查询
表定义了外键。
例如:
$table->integer('client_id')->unsigned();
$table->foreign('client_id')
->references('id')->on('clients')
->onDelete('cascade');
更新:
尝试在添加关系之前保存模型。将其交换到:
$inquiry = new Inquiry;
$inquiry->fill($data);
$inquiry->save();
$inquiry->client()->associate($client);
$inquiry->device()->associate($device);
$inquiry->stream()->associate($stream);
我试图在laravel中创建一个主键-外键关系,但我一直遇到这个错误 我似乎找不到哪里出错了,因为我在查看了SO上的其他答案后,对模式进行了更改。 当我运行时,上面的错误会弹出,这是一个部分迁移。 任何指向这将是真棒,因为我已经寻找了一段时间的解决方案! 谢谢 员工表 部门表 工资表 新增:DB播种机。 根据评论更改了DB种子程序
我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm
问题内容: 我知道你会说这个问题被问过很多次了,但是我还没有解决呢… models.py views.py 模板: 我已经尝试过上面的模板,但没有得到任何结果。所以我想在DocImage类中获取imageurl地址… 所有帮助 问题答案: 如果您查看外键文档,如果您有类似的关系 您需要像这样在DocImages类上定义外键: 如果您未设置相关名称,则可以像下面这样从Doc访问DocImage: 有
问题内容: 对于SQL Server 2000_ 对于给定的表“ foo”,我需要一个查询来生成一组表,这些表具有指向foo的外键。 问题答案: SELECT o2.name FROM sysobjects o INNER JOIN sysforeignkeys fk on o.id = fk.rkeyid INNER JOIN sysobjects o2 on fk.fkeyid = o2.id
问题内容: 我有一个用户表和一个朋友表。朋友表拥有两个外键,分别指向我的用户表和状态字段。我试图能够从Friend对象上的User表中调用属性。例如,我希望能够执行诸如friend.name或friend.email之类的操作。 当我得到对象时,我所拥有的只是2,并且我想显示每个用户的所有属性,以便可以在表单等中使用该信息。我对sqlalchemy还是陌生的- 仍在尝试学习更高级的功能。这只是一个
我有一个奇怪的问题。 我有一个用户表和一个公司表。一个用户属于一家公司,而一家公司有许多用户。 表的两个主键都是id。 在laravel文档中,我阅读了以下内容: 此外,Eloquent假设外键的值应该与父项的id列匹配。 我在我的