在Laravel中,可以通过Eloquent使用数组字段中包含搜索值的方法如下:
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->json('interests'); // 数组字段
$table->timestamps();
});
User
模型类中,可以使用casts
属性将interests
字段定义为数组类型:namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $casts = [
'interests' => 'array',
];
}
where
方法进行搜索。可以使用where
方法来搜索包含特定值的数组字段。在这个例子中,我们将搜索包含值"programming"
的interests
字段:$users = User::where('interests', 'like', '%"programming"%')->get();
这将返回一个包含符合搜索条件的用户模型的集合。
whereJsonContains
方法。whereJsonContains
方法可以更方便地搜索包含特定值的数组字段。在这个例子中,我们将搜索包含值"programming"
的interests
字段:$users = User::whereJsonContains('interests', 'programming')->get();
这将返回一个包含符合搜索条件的用户模型的集合。
请注意,以上链接仅供参考,具体选择产品时需要根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云