【发布时间】:2019-12-10 08:27:51
【问题描述】:
通过输入值,查询类别中是否包含名称或公司名称。我想退回公司名单。
在控制器的查询方法中,返回$comp;听起来很空。
控制器:
public function query(Request $request)
{
$search = $request->what;
$companies = Company::where('deleted_at', null);
if ($search) {
$categories = Category::where('deleted_at', null);
$comp = [];
foreach ($categories as $category) {
if (Str::contains(mb_strtolower($category->name), mb_strtolower($search)))
array_push($comp, $category->company);
}
return $comp;
}
}
类别型号:
public function companies()
{
return $this->hasMany('App\Company', 'category_id', 'id');
}
公司模式:
public function category()
{
return $this->belongsTo('App\Category', 'category_id', 'id')->withDefault([
'name' => '-']);
}
类别迁移:
Schema::create('categories', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('upper_id')->default(0);
$table->string('name', 100);
$table->string('slug', 100);
$table->string('description', 500)->nullable();
$table->timestamps();
$table->softDeletes();
});
公司迁移:
Schema::create('companies', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('category_id');
$table->string('name', 100);
$table->string('slug', 100);
$table->timestamps();
$table->softDeletes();
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
});
【问题讨论】:
-
欢迎来到 SO。什么不起作用?
-
在控制器的查询方法中,返回$comp;听起来很空。
标签: php laravel laravel-5 eloquent laravel-5.8