前言:
如今我们对“laravel导入excel实现数据表三级关联”大体比较关心,朋友们都需要分析一些“laravel导入excel实现数据表三级关联”的相关资讯。那么小编也在网上汇集了一些对于“laravel导入excel实现数据表三级关联””的相关知识,希望朋友们能喜欢,咱们一起来了解一下吧!在laravel9框架开发中,多对多关联模型也比较常见,例如一个用户可能会办理多项业务,而这项业务也可能有多个客户一起办理,这个时候客户与业务之间就是多对多的关系,那么框架是如何关联模型的呢?
Laravel9框架一般是通过调用 belongsToMany 方法结果的方法来实现多模型关联的。 belongsToMany 方法由 Illuminate\Database\Eloquent\Model 基类提供,所有应用程序的 Eloquent 模型都使用该基类。
下面让我们来一起实现这种多对多的关系。
首先需要准备三张数据表:clients(客户数据表)、business(业务数据表)、client_and_business(客户与业务关系表)
以及对应的模型:
class Business extends Model{protected $table = "business";public $timestamp = false;}
class ClientAndBusiness extends Model{ protected $table = "client_and_business"; public $timestamp = false;}
//多对多的关系public function business(){ return $this->belongsToMany('App\Models\Business','client_and_business','c_id','b_id');}//多对多的关系public function many_to_many(){ $list = $this->get(); foreach($list as $val){ echo $val->id."客户名称:".$val->client_name."-业务:"; foreach($val->business as $item){ echo "业务名:".$item->name.","; } echo "<br/>"; }}
然后在控制器中调用增加调用模型的方法:
class ClientController extends Controller{ public function ManyToMany(){ $client = new Clients(); $list = $client->many_to_many(); dd($list); }}
接着添加路由:
use Illuminate\Support\Facades\Route;use App\Http\Controllers\ClientController;//多对多模型关系演示Route::get('many-to-many',[ClientController::class,'ManyToMany']);
启动服务,然后打开浏览器验证:
这一节就介绍到这里了。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。