【发布时间】:2020-05-20 05:52:30
【问题描述】:
我想知道你是否可以帮助建立 laravel 关系。我会尽力解释。
我有两张桌子:
警报
Schema::create('alerts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('user_id');
$table->float('price_low')->nullable();
$table->float('price_high')->nullable();
$table->json('conditions')->nullable();
$table->softDeletes();
$table->timestamps();
});
条件
DB::table('conditions')->insert([
['condition_value' => 'New'],
['condition_value' => 'Second Hand'],
['condition_value' => 'Ex Demo'],
]);
条件字段'conditions'存储一个这样的数组:
[{"condition_id": 1}, {"condition_id": 2}]
我正在尝试定义一种关系,以便可以执行以下操作:
$alerts = Alerts::with(['condition'])->where('user_id', $request->user()->id)->get();
我的警报模型如下所示:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Alerts extends Model
{
protected $casts = [
'conditions' => 'array'
];
public function user(){
return $this->hasOne('App\User', 'id', 'user_id');
}
public function condition(){
return $this->hasMany('App\Condition', 'id', 'conditions[condition_id]');
}
}
但没有返回任何内容,我正在努力在 Laravel 文档中找到答案。
【问题讨论】:
标签: laravel laravel-5 eloquent eloquent-relationship