我有两张桌子
property_id
“租户”和“属性”表有一个与关系的表。
我的租户/create.blde.php有一个下拉列表,其中列出了数据库中所有可供出租的属性。
例如,如果在数据库中插入了以下属性A、B、C、D、E、F,则下拉列表将显示所有属性,包括已经使用的属性。如图所示

我希望它只显示属性不被占用。例如,如果在所有可用的属性中,A、B、C已经被分配给它,那么它应该只显示D、E、F的下拉列表。
我想我可以在控制器上做这件事,但不知道怎么做。
这是我的TenantsController创建函数
public function create()
{
$property = Property::pluck('propertyname','id');
return view('tenants.create',compact('property'));
}create.blade.php有以下代码来显示下拉列表
<div class="form-group">
{{Form::label('property name','Property Name')}}
{{Form::text('propertyname','',['class'=>'form-control','placeholder'=>'Property Name'])}}
</div>发布于 2020-10-17 17:35:11
可能会有更多的解决方案,但现在我可以想到$collection->diff()在你的laravel应用程序中快速解决它。
$properties = Property::all(); // write query to fit your needs
$taken = Property::taken(); // write query to retrieve the unavailable properties
$diff = $properties->diff($taken);
$options = $diff->pluck('name', 'id')->toArray();现在,将$options传递给您的刀片视图&循环通过它生成<option>。
https://stackoverflow.com/questions/64404993
复制相似问题