class Base {}
class D1 extends Base{}
class D2 extends Base{}
void Foo(Base d1OrD2) {
var d1 = d1OrD2 as D1;
if (d1 != null) print("it's d1");
else {
var d2 = d1OrD2 as D2;
if (d2 != null) print("it's d2");
}
}
void main() async{
Foo(D2()); // throws exception D2 is not an instance of D1.
Foo(D1()); // works
}
这是我的控制器
public function getValues(Request $request){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$abschluss=$request->get('abschluss');
$user = DB::table('users')->get();
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc');
if(!empty($request->get('stellentyp'))){
$angebots->where('stellentyp', $stellentyp);
}
$angebots->get();
$row = $angebots->count();
return view('user/angebots', compact('typ', 'stellentyp', 'bereich', 'abschluss', 'row', 'angebots', 'user'));
}
这是我的观点
但我收到此错误消息: 未定义的属性:Illuminate \ Database \ MySqlConnection :: $ firma(查看:C:\ wamp \ sites \ j4ylara \ resources \ views \ user \ angebots.blade.php)
如果我像这样把我的第一句话放在后面
{{$row}} Angebote insgesamt
<div class="row">
@foreach ($angebots as $angebot)
<div class="col-12 col-md-6 col-lg-4 pt-4">
<div class="card offer-card">
<div class="card-image">
<img class="img-fluid" src="{{ asset('uploads/avatars/' . $user[$angebot->firma -1]->avatar) }}">
</div>
<div class="card-body">
<h4 class="text-j4y-dark praktikumstitel">{{ $angebot->stellenname }}</h4>
<a href="{{ route('angebot.details',['id'=>$angebot->firma]) }}">Jetzt mehr anzeigen »</a>
</div>
</div>
</div>
@endforeach
</div>
但是过滤器不起作用
我不知道如何查看结果
我只知道这种方式
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc')->get();
但是我想要我所有的结果,所以我使用了foreach,但是它不起作用
有人知道为什么吗?
答案 0 :(得分:1)
在以下代码段中
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc');
if(!empty($request->get('stellentyp'))){
$angebots->where('stellentyp', $stellentyp);
}
$angebots->get();
您正在执行$angebots->get()
,它会返回您的查询结果。您需要将查询结果分配给变量,并将其传递到视图中。您可以执行以下操作:
$angebots = $angebots->get();
将查询结果分配给$angebots
,然后可以在视图中使用它。
我个人考虑将$angebots
重命名为$angebotsQuery
或类似名称,然后执行以下操作:
$angebotsQuery = DB::table('angebots') ->orderBy('stellenname', 'asc');
if(! empty($request->get('stellentyp'))){
$angebotsQuery->where('stellentyp', $stellentyp);
}
$angebots = $angebotsQuery->get();
答案 1 :(得分:1)
您正在$angebot
中发送构建器。尝试将结果放入变量中。
public function getValues(Request $request){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$abschluss=$request->get('abschluss');
$user = DB::table('users')->get();
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc');
if(!empty($request->get('stellentyp'))){
$angebots->where('stellentyp', $stellentyp);
}
$angebots = $angebots->get();
$row = $angebots->count(); //this will not cause an issue since the Collection has a count method
return view('user/angebots', compact('typ', 'stellentyp', 'bereich', 'abschluss', 'row', 'angebots', 'user'));
}